Головні новини
Ви тут: Головна / php / Що повинен знати починающий PHP розробник

Що повинен знати починающий PHP розробник



Таке питання я дуже багато раз чув, і я таки зважився на нього відповісти.

Хотів було написати чергову статтю про співбесіди, але мені здається формат себе вичерпав, так що читаємо і запам’ятовуємо.

Фундамент

Думати і використовувати Google. Перше оцінити складно, для цього придумано багато «дурних» питань для співбесід. Другий пункт або прищеплюється в перші дні випробувального терміну, або розробник володіє ним спочатку, інший варіант ніхто не розглядає…

Загальнопізнавальне

У мене є питання для співбесіди на загальний розвиток, що відбувається після введення http://domain.com/index.php і натиснення enter, ви повинні розповісти наступне:

  • звідки і як браузер дізнається IP адреса сервера
  • чому наш запит буде обробляти apache
  • чому apache запустить PHP для обробки index.php
  • яким чином PHP обробляє скрипт index.php

Я таки знову повертаюся до співбесід

З чого складається HTTP запит, відповідь (та відкрийте ж firebug або що у вас там встановлено і подивіться)
Установка зв’язки Apache + PHP + MySQL – потренуйтеся, це ой як треба.
Таки трохи про linux – про відмінності файлових систем у порівнянні з windows, про роздачу прав (chmod) і як вийти з vi без збереження.

Окремо варто згадати про гігієну коду – необхідно дотримуватися стандарти кодування, з безлічі існуючих рекомендую стандарти кодування Zend Framework’а, ну а краще ще ознайомитися з відповідними PSR

Пару-трійку днів тиждень буде потрібно на засвоєння базових знань.

PHP

Основи основ – отримання і обробка вхідних параметрів.

Відправляємо форму:

<form action="index.php?a=12">
    <input type="hidden" name="b" value="6"/>
    <input type="submit" value="Calc!">
</form>

Лістинг index.php :

<?
// В результаті роботи скрипта ми побачимо...
function some_logic($a, $b = 24) {
    return ($a+$b)/$_REQUEST['b'];
}

$var1 = $_GET['a'];
echo some_logic($var1);

Робота з циклами, масивами і рядками.

// Переставте букви в словах у зворотному порядку
$str = "Hello world!";

Робота з базою даних і з файлами. Для засвоєння матеріалу – ось вам завдання: написати анонімну дошку оголошень (з бл … аплоаду картинок)

Повинні знати як працює механізм сесій – тобто що відбувається від моменту виклику session_start, і яким боком це все пов’язано з cookies (пам’ятаєте я говорив про HTTP?).
Знати для чого служить include, require і яка між ними різниця.
Різницю між echo і print не тільки знати, а й розуміти.
таки навчитися працювати з об’єктами, розуміти різницю між абстрактним класом і інтерфейсом.

Чим більше досвіду, тим краще, але основи ви підтягніть за тиждень, ОПП потребуватиме ще тиждень-другий.

SQL

Основи синтаксису SQL. Трохи вникнути в MySQL і розуміти відмінності між MyISAM і InnoDB.

Знати як працюють LEFT / RIGHT / INNER JOIN’и – наочно у статті Visual Representation of SQL Joins (посилання на картинку для ледачих -Visual_SQL_JOINS_orig. JPG O_o)

Вміти спроектувати базу даних для невеликого проекту. Ось вам вимоги до БД бібліотеки:
У базі даних повинна зберігатися наступна інформація:

  • Що за книги у нас є в наявності
  • Автори книг
  • Відвідувачі бібліотеки
  • Бібліотекарі

Дозволяє виконати наступні запити:

  • Який витягне всіх авторів, яких читає відвідувач “Іванов”
  • Який дозволить дізнатися хто на даний момент читає книги більше 3-х діб

Переробити БД, оскільки в бібліотеці найчастіше більше, ніж один примірник книги, а треба знати який саме екземпляр брав відвідувач.

Зосередженого вивчення в перебігу тижня вам вистачить для виконання даного завдання, для реальної роботи цього буде замало.

HTML і CSS

Зверстати пару сторінок, від і до (HTML повинен бути валідним). Не слухайте, що це робота дизайнера / верстальника / когось ще. Повірте моєму досвіду – вам віддадуть зверстану сторінку, ніхто за вас не буде інтегрувати HTML шаблон у вашу систему, так що знання HTML і CSS в обов’язковому порядку.
Забудьте про те, що Smarty створений для верстальників, і вони вам будуть готові шаблони віддавати – це казки. Про Smarty теж забудьте, хоча ні – мати уявлення що це таке звичайно треба, а от використовувати – ні.

Дізнатися що є блокова модель, та як працює float. Що є margin і padding.

Днів п’ять півтора тижні вистачить для освоєння базових навичок верстальщика.

JavaScript

Знати: синтаксис, про те як працюють події, розуміти що таке замикання, і як працює AJAX. Це небагато, вивчення даних питань у вас не забере більше тижня.Рекомендую прочитати підручник Іллі Кантора .
Далі прочитайте перші шість частин з моєї серії « jQuery для початківців »- це ще тиждень на засвоєння матеріалу.

Ще трохи напрягів

Розуміння шаблону MVC. Знайомство з якимось фреймворком (Zend Framework, Symfony, Yii, і т.д.). Можна пройти Quick Start від Zend Framework’а.
Навчитися працювати з БД за допомогою PDO . Знати що є SQL-ін’єкція.
Познайомитись з будь-якою системою контролю версій (та хочаб з SVN).

І на що я можу розраховувати?

Два місяці вивчення, і ви вже зможете претендувати на посаду Junior PHP розробник. Відповідь на питання дивіться на DOU.



Автор Володимир Гривінський



Залишити коментар

Ваша електронна адреса не буде опублікована.

Вгору
UA TOP Bloggers