Обсуждение:PHP: различия между версиями

Содержимое страницы недоступно на других языках.
Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
→‎Актуально: новая тема
Строка 45: Строка 45:


И вообще, весь код - тренажер для хакеров.
И вообще, весь код - тренажер для хакеров.

== Актуально ==

Здрастеhttp://dozator.info - . Мне 19 летhttp://geografiya.info - . Увлекаюсь музыкойhttp://indonezia.info - , танцамиhttp://kabriolet.info - , теннисомhttp://pererabotka.info - . Гоняю на великеhttp://puding.info - . Учусь в техникумеhttp://sozdatel.info - . Буду работать машинистомhttp://tranzistor.info - , если доучусьhttp://komsomol.info - , конечноhttp://gmline.ru - .

Версия от 09:44, 16 июля 2013

Предлагаю разделить учебник на несколько частей. Lockal 14:03, 27 августа 2006 (UTC)[ответить]

Предлагаю этого не делать. Ramir 20:58, 27 августа 2006 (UTC)[ответить]
+1 к разделению учебника --79.126.14.103 17:35, 10 марта 2008 (UTC)[ответить]
Учебник по синтаксису и семантике языка предлагаю оставить целым, поскольку язык не настолько сложен, чтобы писать о нём много. Отдельно предлагаю поместить более специфичные темы: «Безопасность в PHP», «Боты на PHP», «Модули для популярных CMS на PHP», «Стандартные функции PHP» и т.п. --Scriptin 10:59, 2 августа 2009 (UTC)[ответить]

«Описание» vs. «Объяснение»

На данный момент учебник является простым переизложением содержимого официальных руководств по PHP — я не нашёл ровным счётом ничего, выходящего за эти рамки. Смысла в дублировании общедоступной информации нет, поэтому я считаю, что необходимо коренным образом пересмотреть сам подход к изложению материала.

  1. Приводить больше разнообразных и нетривиальных примеров, в том числе и тех, которые демонстрировали бы «высший пилотаж» в использовании возможностей языка: нестандартное использование оператора for, оптимизация и т.п.
  2. Отдельно выделить правила форматирования текстов php-скриптов.
  3. Пренебречь описанием стандартных функций (кроме часто используемых) в пользу примеров их использования. Я не вижу смысла в тех описаниях, которые сейчас имеются в учебнике — вместо этого желательно показать читателю, в каких задачах может пригодиться тот или иной набор функций. Например, рассмотреть использование функции sscanf и подобных в приложении к вопросам структуризации входящих данных.
  4. Уделить особое внимание вопросам безопасности — в объёме большем, чем это сделано в официальных руководствах. Сюда можно включить описание типичных уязвимостей скриптов, методов их обнаружения, анализа и устранения, а также рассмотрение общих принципов и «философии» безопасности, если так можно выразиться.
  5. Объяснить основные концепции программирования вообще и вэб-программирования в частности в объёме, достаточном для того, чтобы показать новичкам важность этих вопросов. Или хотя бы написать пару абзацев с большим количеством ссылок на соответствующие статьи.
  6. Сравнить PHP с конкурирующими языками (в рамках специализации), причём не только в плане возможностей языка, но и в вопросах популярности, коммерческого использования и т.д. Читателю лучше знать о перспективах и альтернативах.

Важно! Предлагаю основному(-ым) автору(-ам) учебника поместить на этой странице подробный (насколько возможно) план будущего учебника, чтобы другие участники могли активно включиться в работу, а не просто дополнять уже готовое. Координация действий приведёт к значительному ускорению работы над учебником — для этого можно даже обменяться контактными данными на страницах обсуждения участников. Если плана ещё нет, то его могу составить я. --Scriptin 20:18, 1 августа 2009 (UTC)[ответить]

Неверная информация в учебнике

Цикл перебора массивов foreach работает с копией массива, т.е. изменение элемента массива внутри этого цикла не затрагивает исходный массив. Следующий код, вопреки написанному в учебнике, не превратит все элементы массива в единицы:

<?php
  $arr = array (1, 2, 3, 4);
  $i = 0;
  foreach ($arr as $a)
    $a -= $i++;

Будет работать только такой вариант как

<?php
  $arr = array (1, 2, 3, 4);
  $i = 0;
  foreach ($arr as $k => $a)
    $arr[$k] -= $i++;

77.41.56.248 18:46, 20 мая 2010 (UTC) Alexey[ответить]

Точнее, в переменную-итератор будут попадать копии элементов массива.

Уязвимость

$find_names = mysql_query("SELECT * FROM users WHERE login='".$_POST['login']."'");

Блжад, ну нельзя же так. Классический пример SQL инъекции. Не раскрыта тема параметризированных запросов.

И вообще, весь код - тренажер для хакеров.

Актуально

Здрастеhttp://dozator.info - . Мне 19 летhttp://geografiya.info - . Увлекаюсь музыкойhttp://indonezia.info - , танцамиhttp://kabriolet.info - , теннисомhttp://pererabotka.info - . Гоняю на великеhttp://puding.info - . Учусь в техникумеhttp://sozdatel.info - . Буду работать машинистомhttp://tranzistor.info - , если доучусьhttp://komsomol.info - , конечноhttp://gmline.ru - .