Урок 2 – На чому писати, хитрощі вебмастера

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

А тепер до суті уроку.

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

Мій нестандартний метод як ви помітили вже викликав перші критики, але я вважаю його правильним і перш за все керуюся практикою і базуюся на ній.

Хитрощі, які рекомендую використовувати:
При написані скриптів та їх тесутванні пропоную включити візуалізацію всіх помилок в файлі на локальному сервері \usr\local\php5\php.ini.
error_reporting = E_ALL ; & ~E_NOTICE & ~E_STRICT (по дефолту)
При тестуванні чужих скриптів (при умові що вони вже протестовані на помилки), замінивши попередній рядок ↑, раджу використовувати такі налаштуванні:
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

Це перш за все, через те що, не всі скрипти написані під php5, який більш “суворіший” за своїх попередників і в вас можуть виникнути проблеми.

Отож, яким же редактором користуватися?

Ну це завжди найважче питання для початківця (ну так було для мене), з одного боку, зручний та легкий Macromedia Dreamweaver, який дозволяє економити багато часу при написанні html частини коду, тому що закриває напів-автоматично теги, а також показує зразу помилки в php, а з іншого всіма редомендований примітивний блокнот, якому без різниці що ви в ньому пишете і нічого вам не підказує і не допомагає.
Всі спеціалісти кажуть, що краще починати в блокноті, тому що вимагає вивчення на пам’ять всіх необхідних тегів, та вимагає ідеального аналізуючого погляду, який виробляється, для миттєвого виявлення помилок.

Моя думка на цей погляд така, я вважаю що для людей які вже досить добре знають html все таки краще Macromedia Dreamweaver, тому що допоможе економити десь процентів 30% часу при написанні скриптів де велику частину коду займає формування html сторінки, а для людей які ще зовсім не орієнтуються в html, я перш за все раджу вивчити його перед продовженням вивчення моїх уроків(!)(http://www.w3schools.com/html/default.asp – там і xhtml, wap, wml тощо, а також раджу погуглити ;) ), а також при написанні скриптів НАПОЛЯГАЮ на використанні блокноту або інших редакторів, які лімітуються підсвіткою коду.
Порадити вам щось зручне тяжко, тому що не використовую таке, хоча мав би підійти Notepad++ (Open Source).

Що ви б порадили, профі? (в коментарях)

HELLO WORLD! – нарешті починаємо!

Отож, першим скриптом буде в стилі всіх навчальних курсів по програмуванню.

На нашому сервері, на домені, який ми встановили, в папці /home/lessons.ua/www/, створіть файл welcome.php, де пишемо наступне:

<?php
  echo "Hello World!"; // Привіт це коментар!
?>

(скрипт доступний за адресом http://lessons.ua/welcome.php , на вашому віртуальному сервері)

На цьому прикладі ми вивчемо дві структури в php, “echo” – оператор, який виводить все що йде після нього до “;“, а також оператор для додачі коментарів “//“, який дозволяє вписувати коментарі до переходу рядка.
Альтернативами цих двох операторів є “print” та “/* … */” відповідно, різниця між першими невелика, оператор “print” повертає (int) true або false. (true (або “1″) – істина (тобто “все ок”), false – брехня), а різниця між другими, це те що при використанні “/* контар тут */” можна розтягувати його на декілька рядків та не боятися переходів між ними, тобто все що між “/*” та “*/“, буде вважатися коментарем.

Тобто тепер ми можемо розширити наш код, та продемонструвати використання альтернативних операторів. Відкриваємо welcome.php та змінюєм код на такий:

<?php
  echo "Hello World!"; // Привіт це коментар!
?>
<br />
<?php
  print "Hello Ukraine!";
/* Тут коментар.
І тут теж ;)
Тут також побував
*/
?>

(скрипт доступний за адресом http://lessons.ua/welcome.php , на вашому віртуальному сервері)

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

А тепер перейдемо до питання “Який оператор використовувати при виводі даних?”.
Я так як і більшість рекомендую “echo“, тому що він є швидшим, та деколи і зручнішим. А також тому що на практиці додаткові функції оператора “print” виявляються зайвими і тільки додають роботи серверу.

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

Тепер про можливі питання.
Міні F.A.Q.:
1. Для чого “<?php … ?>“?
Саме між ними пишеться php код. Без операторів виводу, вписування html між ними заборонений (покаже помилку). Альтернативами є “<? … ?>“, але в новій версії розробники php наполягають на використанні “<?php … ?>“.
2. А до чого там “<br />“, та чому він не вписаний оператором “echo“?
В php скриптах дозволений внутрішній html код, за умови що він буде поза межами “<?php … ?>“. Тобто при виконанні скрипту, буде оброблено тільки саме тіло скрипту (“<?php … ?>“), а все інше буде передано без попередньої обробки (в майбутньому покажу один секрет, який дозволить вирізувати частини html коду). Це зроблено перш за все через, саме, веб-направленість php.
А чого він не був вписаний в код та чому ми не зробили код “єдиним”? Тільки тому що так зручніше, тобто, чого додатково навантажувати сервер та себе, якщо частини скрипту можна писати простим html?
3. В скрипті можна писати код “кусками”?
Так, звичайно, головне щоб кожна частина php-коду, була між “<?php … ?>“.

А тепер про деякі особливості.

Оператор “echo” як бачите виводить текст між “”, але якщо б вам було необхідно писати всередині html код наприклад з стилями, які теж заключені в “”, то це б призвело до помилки. Ось демонстрація однієї з поширених помилок серед новачків:

<?php
  echo "<div class="message">Hello World!</div>";
?>

Коли ви запустите цей скрипт, ви побачите приблизно таке повідомлення про помилку, від сервера: “Parse error: parse error, unexpected T_STRING, expecting ‘,’ or ‘;’ in z:\home\lessons.ua\www\script.php on line 2″

Це тому що при компіляції скрипту, скрипт обірвався через html тег в якому були “”. Щоб уникнути цього, потрібно “пояснити” компілятору що внутрішні “” є частиною html, а не php-коду. Це можна зробити так:

<?php
  echo "<div class=\"message\">Hello World!</div>";
?>

Так, саме \ перед першим ” та ще один \ перед другим “. Ви запитаєте: “Ну так, php це допомагає, але ж html так спотвориться, як же бути?”, а я відповім: “Ні, php їх автоматично прибере, та при передачі html тих знаків не буде.”

Тобто результатом буде:

<div class="message">Hello World!</div>

А також є два інших варіанти, які є ще зручнішими.

<?php
  echo '<div class="message">Hello World!</div>';
?>

або

<?php
  echo "<div class='message'>Hello World!</div>";
?>

Так, саме так, php як і html дозволяє використовувати на місці або наоборот. Тобто, якщо ви в php будете використовувати один тип, то ви з повною безпекою можете використовувати в html, інший тип і не боятися за проблеми, які були в першому прикладі.

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

Всі питання, пропозиції, зауваження в коментарі!

Загрузка...

7 коментарі:

  1. podarok, 8. Січень 2008, 21:09

    Навідь в прикладах забудь про використання inline style
    Це дуже загромаджує кінцевий код та ускладнює створення тем методами CSS

     
  2. podarok, 8. Січень 2008, 21:11

    І ще одне зауваження по стилю написання тепер – намагайся розділяти окремі розділи якось… Не бійся вікорістовувати жирний текст та відступи

     
  3. hip, 8. Січень 2008, 21:12

    Це тільки для прикладу використання “” всередині echo “”;.

     
  4. podarok, 9. Січень 2008, 0:04

    для цього можеш використовувати class=”test-echo”

     
  5. MustangUA, 10. Січень 2008, 12:31

    Я не профі, але порадив би PHP Expert Editor (Скачати можнатут).
    Він досить зручний, гарна підсвітка коду, дозволяє завантажувати файли по FTP, та, головне, україномовний і безкоштовний (потрібна реєстрація на офіційному сайті, після чого вам на e-mail прийде код для безкоштовного використання програми)

     
  6. vedeney, 22. Березень 2008, 11:14

    Це тому що при компіляції скрипту

    ПихПих компілюється!? ВАААААААААВВВВВВВ :)

     
  7. hip, 22. Березень 2008, 11:31

    Я мав на увазі інтерпретується.

     

Написати коментар:


Украинская Баннерная Сеть
Блог про Львів, життя та інші приколи Український рейтинг TOP.TOPUA.NEThurtom.com
UA TOP BloggersІвано-Франківськ
Безкоштовний хостинг TOPUA