Програміст php навчання з нуля. Особистий досвід як доказ: мова програмування PHP – головна в Мережі

PHP (P HP: H ypertext P reprocessor, задумливий препроцесор

Гіпертексту) - скриптова мова програмування, орієнтована на web.

B 1 yрокe познайомимося з основним синтаксисом, а також напишемо свій перший скрипт.

Основи синтаксису:

-
- початок та кінець скрипту
оператор присвоєння - =

Виведення текстової інформації – echo (може виводити html-код)

While (умова циклу) (дія) - цикл
- if(умова)(дія виконується при невірності умови)else(дія виконується при невірності умови) - умова
-

Урок 1. Створення першого сценарію

Як ви бачите, скрипт складається з одного рядка.

Щоб виконати скрипт необхідно відповідне ПЗ, для користувачів Windows я рекомендую Denwer (http://denwer.ru)
Після встановлення Denwera створюємо в каталозі hosts папку Script.test, у якій у свою чергу створюємо папку

WWW. У папці WWW створюємо файл index.php? який переносимо вміст нашого файла.

Після збереження файлу перезапустіть Denwer. Потім у рядку браузера наберіть script.test

І вауля! Ми бачимо напис Hello World!

Як не треба писати Hello World:

Hello World Не пишеться так

Так:

Ну точно не так:

Завершення.

На цьому наш урок добіг кінця, ну а на завершення невелика добірка корисних посилань:
denwer.ru - сайт, звідки можна скачати Denwer
ru.wikipedia.org/wiki/PHP - Що таке PHP
http;//php.net - самовчитель з PHP

Мітки: PHP

Ця стаття не підлягає коментуванню, оскільки її автор ще не є повноправним учасником спільноти. Ви зможете зв'язатися з автором лише після того, як він отримає

На перші кілька пунктів спробую написати рекомендації у вільній формі.

Перше і найголовніше – щоб добре вивчити програмування на РНР, треба добре вивчити програмування. Це дуже важлива річ. Більшість людей, які пишуть на РНР, не мають жодного уявлення про програмування. Навіть про такі базові речі, як форматування коду, налагодження, профайлінг, обробка помилок, файлові операції. Можна помітити, що я не говорю про ОВП. Це дуже окрема тема, ОВП треба вивчати спеціально. На жаль, зі 100 осіб, які говорять, що знають ОВП, 90 є банальними копіпастерами, які вивчили синтаксис, але не розуміють сенсу об'єктів. Але щоб грати у шахи, недостатньо знати, як ходять постаті.

Ще непогано б відповісти собі на питання – навіщо ти хочеш вивчити програмування на РНР? Питання зовсім не пусте. Багато людей змішують у ньому купу різних понять. Наприклад, тут згадували CMS. і справді, якщо йдеться про заробляння грошей, то кастомізація Джюмли і написання до неї гівномодулів у фінансовому плані набагато вигідніші, ніж уміння писати що-небудь з нуля. Для фрілансу, принаймні.

Взагалі РНР можна використовувати дуже по-різному. І для кожного випадку це буде своя мова.

  • Можна склепати гостьову чи сайт-візитку на «голому» РНР – і нічого поганого чи ганебного в цьому немає. Навпаки - це плюс мови, яка годиться і для таких цілей, не тягнучи за собою кілька мільйонів рядків коду для сайту з п'ятисот.
  • Можна написати професійний портал, взявши за основу якийсь із існуючих фреймворків і займатися його розвитком.
  • Можна написати кастомний хайлоад проект, для якого потрібно писати власний фреймворк знову на голому РНР.
  • Можна, як уже говорилося, клепати сайти на основі якоїсь ЦМС.

Варіантів маса! тому потрібно визначитися спершу, чого хочеться.

Там вище говорили про JS+CSS – не треба слухати, це повна нісенітниця. Фронтенд програмування - дуже окрема річ, куди більше візуальна, ніж абстрактна. І, дякувати Богу, все більше роботодавців починають розуміти це. Хоча знову ж таки - якщо фрілансиш і на всі руки майстер - то без цього нікуди.

Але якщо працювати хардкорним серверним програмістом у команді, то про HTML/JS/CSS потрібно мати лише загальне уявлення (оскільки тексти цими мовами є, взагалі-то, практично єдиним результатом роботи РНР).

А ось що обов'язково потрібно добре знати із супутніх технологій - це протокол НТТР, пристрій файлової системи, робота c командним рядкому лінуксі.

Тепер щодо інших

Mysql все ще є наріжним каменем зберігання даних у Інтернеті. Потрібно знати та розуміти джойни, індекси

Фреймворки – обов'язково. Тут, щоправда, стоїть проблема вибору, але принципової різниці між ними немає. Yii – непоганий вибір.

Гітхаб тобі не потрібний, знати його не обов'язково. Знати треба git.
А ось що є обов'язковим для веб-програміста – це вміння користуватися вугіллям. Хоча б на рівні вміння скопіпастити у пошукову форму повідомлення про помилку або написати питання «Що таке git» ;-)

Тому що для роботи в команді будь-яку систему контролю версій треба знати, а git є стандартом де-факто. Розуміти принцип роботи та базові команди – чекають, коміт, пуш.

Знання HTML дозволяє отримати уявлення про те, як створювати сайти. І навіть дозволяє самостійно розробляти інтернет-ресурси. Однак використання цієї мови розмітки має обмежений характер внаслідок статичності створених за його допомогою сторінок. Зокрема, він застосовується в більшості випадків для розробки сайтів-візиток. Вся справа в тому, що при необхідності внести будь-які зміни редагувати потрібно кожну сторінку окремо, і якщо їх ресурс має кілька десятків або сотень, подібний процес буде не тільки стомлений, але й розтягнутий у часі.

Оптимізувати адміністрування сайту дозволяє використання PHP (акронім для PHP: Hypertext Preprocessor «гіпертекстовий препроцесор») – скриптової мови програмування, що дозволяє створювати веб-сторінки, що динамічно наповнюються. Його застосування дає можливість зробити ресурс справді інтерактивним, а процес керування сайтом – простим і менш витратним у плані докладених зусиль. Онлайн курс PHP для початківців від WebShake допомагає опанувати основи скриптової мови з нуля, навчитися створювати динамічні ресурси, які легко модифікувати та підтримувати.

Наші текстові матеріали та відеоуроки розроблені таким чином, щоб бути зрозумілими для кожного користувача, який захоче освоїти веб-програмування. А домашні завдання, розміщені наприкінці кожної теми, дозволять закріпити отримані знання та відточити їх застосування практично.

1. Потоваришуйте з довідником по PHP

Якщо ви новачок в PHP, значить, настав час познайомитися з довідником PHP, що вселяє повагу. Довідник PHP неймовірно вичерпний і містить дійсно корисні коментарі до кожної статті. Перед тим, як ставити запитання або намагатися самостійно вирішити проблему, заощадіть час і просто візьміть курс на довідник. Відповіді на ваші запитання вже зручно розмістились у корисній статті на сайті PHP.net.
У даному випадку ми Вам рекомендуємо пошукати самостійно довідники російською мовою, краще за php для початківців. Будемо раді, якщо Ви дасте посилання на корисні довідники у коментарях до статті (Просто враховуйте, що це переклад статті).

2. Увімкніть звіт про помилки

6. Робіть відступи та використовуйте пробіли в коді для читання

Якщо ви не використовуєте відступи та прогалини в коді, то результат виглядає як картина Джексона Поллака (Jackson Pollack). Забезпечте читання свого коду та нормальний пошук, тому що майже напевно в майбутньому ви робитимете в ньому зміни. IDE та сучасні текстові редактори можуть автоматично робити відступи у коді.

7. Робіть код багаторівневим

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

8. Завжди використовуйте

Часто програмісти намагаються використати скорочення в операторах PHP. Ось як це зазвичай робиться:

<% echo "Hello world"; %>

echo "Hello world";

<% echo "Hello world" ; %>

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

9. Використовуйте змістовні, послідовні назви

Назва – не тільки для вашого власного задоволення. Немає нічого гіршого, ніж продиратися крізь безглузді умовні позначення іншого програміста. Допоможіть самому собі та іншим, використовуючи для своїх класів та властивостей імена, які мають сенс.

10. Коментуйте, коментуйте, коментуйте

Крім використання пробілів і відступів для поділу коду, вам також доведеться використовувати вбудовані коментарі, щоб забезпечувати примітками свій код. Пізніше ви подякуйте самій собі, коли доведеться повертатися і шукати щось у коді, або якщо ви просто не пам'ятаєте того, що робила певна функція. Це також корисно для тих, кому потрібно переглянути код.

11. Встановіть MAMP/WAMP

MySQL - найпопулярніший вид бази даних, що використовується з PHP (хоч і не єдиний). Якщо потрібно настроїти локальне оточення для розробки та тестування ваших PHP-програм на комп'ютері, передбачте встановлення MAMP (Mac) або WAMP (Windows). Встановлення MySQL на ваш власний комп'ютер може стати стомлюючим процесом, а обидва ці програмні пакети містять MySQL. Вправно і просто.

12. Встановіть ліміти своїм скриптам

Встановлення ліміту часу на PHP-скрипти дуже відповідальна річ. Бувають моменти, коли скрипти виходять з ладу, і коли це станеться, вам доведеться використовувати властивість set_time_limit (установити ліміт часу), щоб уникнути нескінченно циклів, що повторюються, і закінчення таймутів часу з'єднання з базою даних. Set_time_limit встановлює ліміт часу на максимальну кількість секунд, протягом якого виконується скрипт (за замовчуванням 30). Після цього часу збуджується непереборна помилка.

13. Використовуйте об'єкти (або ООП)

Об'єктно-орієнтоване програмування (ООП) використовує об'єкти, щоб представляти компоненти програми. ООП – це не тільки спосіб розбити свій код на окремі логічні секції, воно також знижує кількість повторень коду та робить набагато легшим його модифікування у майбутньому.

14. Зрозумійте різницю між одинарними та подвійними лапками

Використання одинарних лапок у рядках ефективніше, оскільки парсеру (синтаксичному аналізатору) не доводиться просівати код у пошуку спеціальних символів (прим. перев. escape-послідовностей) та інших речей, що дозволяють подвійні лапки. Там, де це можливо, намагайтеся завжди використовувати одинарні лапки.

Заперечення: Власне, це обов'язково правильно. Тести Benchmark показують, що при тестуванні рядків без змінних існують певні переваги швидкодії використання подвійних лапок.

15. Не ставте phpinfo() у свій Webroot

Phpinfo – чудова річ. Просто створивши PHP-файл, у якому є:

і прилаштувавши його десь на сервері, ви зможете негайно дізнаватися все про оточення свого сервера. Тим не менш, безліч новачків помістить файл, що містить phpinfo() у webroot сервері. Це надзвичайно небезпечна практика, і якщо чийсь допитливий розум отримає доступ, він може потенційно наврочити ваш сервер. Переконайтеся, що phpinfo() знаходиться в безпечному місці, а як додатковий захід видаліть його, як тільки закінчите.

16. Ніколи, ніколи не довіряйте своїм користувачам

Якщо у програмі є місця для входу користувачів, ви завжди повинні припускати, що хтось спробує ввести сумнівний код. (Ми не маємо на увазі, що ваші користувачі - погані люди. Це просто здоровий глузд.) Відмінний спосіб вберегти свій сайт від хакерів - завжди ініціалізувати свої змінні для захисту сайту від XSS-атак. На PHP.net є приклад належним чином закритої форми з ініціалізованими змінними:

if (correct_user ($_POST ["user" ] , $_POST [ "password" ] ) (

$login = true;

if ($login ) (

forward_to_secure_environment();

17. Зберігайте паролі зашифрованими

Багато новачків PHP часто скидають делікатні дані, такі як паролі, в базу даних, не застосовуючи шифрування. Розгляньте використання MD5 для шифрування паролів перед тим, як викладати їхню базу даних.

echo md5("myPassword"); // renders -

echo md5 ("myPassword"); // renders -

Проте, пам'ятайте, що хеші MD5 вже давно скомпрометовані. Безумовно, вони скоріше безпечні, ніж ні, але за допомогою гігантської "спектральної таблиці" хакери можуть відновити хеш. Для забезпечення ще більшої безпеки обміркуйте можливість додавання солі (перешкод у вигляді білого шуму). «Сіль» – це зазвичай додатковий набір символів, які ви приєднуєте до рядка користувача.

18. Використовуйте інструменти візуалізації баз даних

Якщо вам здається складним планувати та змінювати бази даних для своїх PHP-програм, можна було б розглянути можливість використання інструменту візуалізації баз даних. Користувачі MySQL можуть працювати з DBDesigner та MySQL Workbench для візуального дизайну своїх баз даних.

19. Використовуйте буферизацію виводу

Буферизація виведення – це простий спосіб дуже покращити якість і швидкість вашого PHP-скрипту. Без буферизації виводу ваш скрипт показуватиме HTML на сторінці так, як він обробляється – частинами. Додавання буферизації виводу дозволяє PHP зберігати HTML як змінну та посилати його на браузер єдиною порцією.

Щоб активувати функцію буферизації виводу, просто додайте ob_start() як тут на початку файлу.

Заперечення: Хоча це не потрібно, зазвичай вважається гарною практикою просто взяти і прикріпити функцію “ob_end_flush();” до кінця документа. P.S. Хочете також стиснути HTML? Просто змініть “ob_start();”на “ob_start('ob_gzhandler')”;

XHTML

untitled

untitled

20. Оберігайте свій скрипт від атаки SQL-injection

Якщо ви не відокремлюєте символи, що використовуються в рядках SQL, ваш код вразливий для атаки SQL-injection. Уникнути цього можна, використовуючи або функцію mysql_real_escape_string (прим. перекл. для відокремлення символів), або підготовлені оператори SQL (prepared statements).

Ось приклад mysql_real_escape_string у дії:

$username = mysql_real_escape_string($GET["username"]);

$username = mysql_real_escape_string ($GET ["username"]);

І підготовленого оператора:

21. Спробуйте ORM

Якщо ви пишете об'єктно-орієнтований PHP, можете використовувати OR-mapping (ORM). ORM дозволяє вам перетворювати дані між реляційними базами даних та мовами об'єктно-орієнтованого програмування. Коротше кажучи, ORM дає можливість працювати з базами даних так само, як ви працюєте з класами та об'єктами в PHP.

Для PHP є безліч ORM-бібліотек, таких як Propel, а також ORM вбудований у фреймворки PHP, такі як CakePHP.

22. Кешуйте сторінки, керовані базою даних

Кешування PHP-сторінок, керованих базою даних – чудова ідея для покращення швидкості завантаження та продуктивності свого скрипту. Насправді не так вже й важко створити і витягти статичні файли вмісту за допомогою нашого доброго друга ob_start(). Ось приклад, взятий зі Snipe.net:

// TOP of your script $cachefile = "cache/".basename($_SERVER["SCRIPT_URI"]); $ cachetime = 120 * 60; // 2 години // Сервер від cache if it is younger than $cachetime if (file_exists($cachefile) && (time() - $cachetime< filemtime($cachefile))) { include($cachefile); echo ""; exit; ) ob_start(); // start the output buffer // Your normal PHP script and HTML content here // BOTTOM of your script $fp = fopen($cachefile, "w"); // open the cache file для написання fwrite($fp, ob_get_contents());

// TOP of your script

$cachefile = "cache/". basename ($_SERVER ["SCRIPT_URI"]]);

$ cachetime = 120 * 60; // 2 години

// Serve from the cache if it is younger than $cachetime

if (file_exists ($cachefile) && (time () - $cachetime< filemtime ($cachefile ) ) ) {

include ($ cachefile);

Пісочниця

pull 25 липня 2013 о 13:07

PHP з нуля. Урок 1

  • PHP ,
  • Програмування

PHP (P HP: H ypertext P reprocessor, задумливий препроцесор

Гіпертексту) - скриптова мова програмування, орієнтована на web.

B 1 yрокe познайомимося з основним синтаксисом, а також напишемо свій перший скрипт.

Основи синтаксису:

-
- початок та кінець скрипту
оператор присвоєння - =

Виведення текстової інформації – echo (може виводити html-код)

While (умова циклу) (дія) - цикл
- if(умова)(дія виконується при невірності умови)else(дія виконується при невірності умови) - умова
-

Урок 1. Створення першого сценарію

Як ви бачите, скрипт складається з одного рядка.

Щоб виконати скрипт необхідно відповідне ПЗ, для користувачів Windows я рекомендую Denwer (http://denwer.ru)
Після встановлення Denwera створюємо в каталозі hosts папку Script.test, у якій у свою чергу створюємо папку

WWW. У папці WWW створюємо файл index.php? який переносимо вміст нашого файла.

Після збереження файлу перезапустіть Denwer. Потім у рядку браузера наберіть script.test

І вауля! Ми бачимо напис Hello World!

Як не треба писати Hello World:

Hello World Не пишеться так

Так:

Ну точно не так:

Завершення.

На цьому наш урок добіг кінця, ну а на завершення невелика добірка корисних посилань:
denwer.ru - сайт, звідки можна скачати Denwer
ru.wikipedia.org/wiki/PHP - Що таке PHP
http;//php.net - самовчитель з PHP

Мітки: PHP

Ця стаття не підлягає коментуванню, оскільки її автор ще не є повноправним учасником спільноти. Ви зможете зв'язатися з автором лише після того, як він отримає

mob_info