Web - разработчик без опыта работы.

ivan453

Новичок
Народ, что нужно Web - разработчику(php, mysql, javascript) без опыта работы для того что бы устроиться на работу?
Возьмем случай если это - не столицы, выбор работодателей невелик.

Сейчас представляю это так.
Нужно сделать 2-3 сайта,так сказать портфолио, и он же опыт работы - если так можно сказать.

Но достаточно ли этого будет?
Что должно обязательно быть в этих сайтах ( то есть на что обязательно будет обращаться внимание работодателя)?

Народ, кому интересно, напишите о том как Вы попали на свое первое рабочее место?
 

AmdY

Пью пиво
Команда форума
напиши модуль новости
1. админка
1.1 добавление (с возможностью прикрепить картинку)
1.2 вывод списка (с разбивкой по страницам, сортировкой и фильтрафией)
1.3 удаление (не забываем про картинки)
2. пользовательская
2.1 просмотр списка новостей с разбивкой по страницам и сортировкой (по умолчанию последние добавленные первыми), не забываем выводить при наличии картинки её уменшенную превьюшку.
2.2 просмотр одной новости, выводим превьюшку картинки и при клике на ней с помощью lightbox показываем большую.
бонусом будет, если у тебя будут ещё категории новостей и ты сможешь их выводить используя LEFT JOIN
собственно этот минимум нужен в 80-90% работы

полноценные сайты тебе не нужны, большинство джуниоров даже сделав 10 сайтов никогда не реализовывало весь функционал описанной мной схемы, особенно админка.

и ещё по стилю. приучись писать так, чтобы каждый обработчик был в отдельном файле (назовём его контроллером)
внутри файла примерно такой псевдокод
PHP:
..... 
// получили данные
$data = model_news_get_list($count, $order, $filter);
.....
//выводим данные
<ul>
<?php foreach($data AS $news) { ?>
    <li><?php echo $news['title'] ?></li>
<?php } ?>
</ul>
я не даю гарантию, что тебя возьмут, если ты с этим справишься, но тебе могут указать на твои ошибки в реализации. (на на форуме новички редко слушают). и когда доведёшь до нормального уровня без XSS и SQL инъекций. то работа будет в кармане.

p.s. Я на своё первое рабочее место попал по блату, реализовав тестовое задание значительно легче описанного и освоих по ходу написания ООП и их класс для работы с базой и шаблонизатором.
 

proWoke

Новичок
и ещё по стилю. приучись писать так, чтобы каждый обработчик был в отдельном файле (назовём его контроллером)
внутри файла примерно такой псевдокод
Это как? Обработчик прям в файл к html вначало вставлять? Типо там же запрос к базе делает, там же нужные функции обьявляем? Я, наверное, не так понял да? Просто я всегда думал, что надо делить на view(где HTML) и файл обработчик и вот этот обработчик к view подключать, ну я так всегда делал.
 

AmdY

Пью пиво
Команда форума
да, конечно, желательно view выносить в отдельный файл и инклудить уже его, при этом реализовав 2 step rendring. но суть именно в выносе контроллера в отдельный файл, чтобы не было
switch($_GET['action']) {
case 'news_list':
........
break;
case 'news_show':
........
break;
}
а был либо вот такой минимальный роутинг контроллеров http://phpfaq.ru/easy/?code, либо вовсе на разный скрипты запросы делать http://site.ru/news_list.php http://site.ru/news_show.php
 

proWoke

Новичок
Так. Ну я вот так делаю, вроде, как я понял, правильно. У меня есть файл view.php Там у меня идёт типо того:
PHP:
<body>
<h1>Список всех новостей: </h1>

<? foreach (allnews as onenews) { ?>
<p><? echo $onenews['title']; ?></p>
<div><? echo $onenews['text'] ?></div>
<? } ?>
</body>
Потом идёт файл controller.php и он выглядит так:

PHP:
include(mysqlconnect.php);
$allnews = mysql_query('Получаем массив с информацией о новостях');

include('view.php');
Ну а запрашивает пользователь файл controller.php.
 

AmdY

Пью пиво
Команда форума
да, нижнюю часть правильно поняли, а вот напрямую с mysql не работайте в контроллере - это смертный грех. выносите все такие запросы в отдельные файлы по названию таблицы и вызывайте model_news_get_list(....), это позволит при изменении структуры базы данных менять лишь запросы в одном файле, а не прыгать по всему проекту.

и вместо mysq_* используйте PDO, это гораздо проще и безопаснее за счёт плэйсхолдеров.
 

ivan453

Новичок
AmdY Спасибо за конкретный ответ.

Но что касается различных пхп - фрэйворков ?
Насколько это нужно ( в рамках этой темы конечно).

А также Аякса?
 

fixxxer

К.О.
Партнер клуба
Аякс это обычный http запрос, GET или POST. Если есть такие вопросы надо для начала разобраться в устройстве протокола http, например вот http://phpfaq.ru/na_tanke

Фреймворки не надо трогать не научившись основам. Будет каша в голове, примерно как лет 10 назад у "программистов" на Delphi которые не зная основ языка тыкают мышкой и копипастят код из примеров.
 

ivan453

Новичок
да, конечно, желательно view выносить в отдельный файл и инклудить уже его, при этом реализовав 2 step rendring. но суть именно в выносе контроллера в отдельный файл, чтобы не было
switch($_GET['action']) {
case 'news_list':
........
break;
case 'news_show':
........
break;
}
В чем недостаток такого переключателя, если использовать также smarty ?
 
Сверху