Обсуждение:PHP
Добавить темуФункция "htmlspecialchars"
[править]Непонятно, что это значит: незаконченную (не закрытую) ссылку на сущность (&…;) — Guest 2015 10 (обсуждение) 13:03, 22 февраля 2019 (UTC)
Предлагаю разделить учебник на несколько частей
[править]Предлагаю разделить учебник на несколько частей. 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 — я не нашёл ровным счётом ничего, выходящего за эти рамки. Смысла в дублировании общедоступной информации нет, поэтому я считаю, что необходимо коренным образом пересмотреть сам подход к изложению материала.
- Приводить больше разнообразных и нетривиальных примеров, в том числе и тех, которые демонстрировали бы «высший пилотаж» в использовании возможностей языка: нестандартное использование оператора
for
, оптимизация и т.п. - Отдельно выделить правила форматирования текстов php-скриптов.
- Пренебречь описанием стандартных функций (кроме часто используемых) в пользу примеров их использования. Я не вижу смысла в тех описаниях, которые сейчас имеются в учебнике — вместо этого желательно показать читателю, в каких задачах может пригодиться тот или иной набор функций. Например, рассмотреть использование функции
sscanf
и подобных в приложении к вопросам структуризации входящих данных. - Уделить особое внимание вопросам безопасности — в объёме большем, чем это сделано в официальных руководствах. Сюда можно включить описание типичных уязвимостей скриптов, методов их обнаружения, анализа и устранения, а также рассмотрение общих принципов и «философии» безопасности, если так можно выразиться.
- Объяснить основные концепции программирования вообще и вэб-программирования в частности в объёме, достаточном для того, чтобы показать новичкам важность этих вопросов. Или хотя бы написать пару абзацев с большим количеством ссылок на соответствующие статьи.
- Сравнить 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 инъекции. Не раскрыта тема параметризированных запросов.
И вообще, весь код - тренажер для хакеров.
уязвимость md5
[править]На той же страничке вики написано, что он уязвим и пользоваться им не рекомендуется, нужно использовать sha2.
Оформление
[править]Просматривая статьи викиучебника я много раз сталкивался с проблемами оформления. Многие статьи имели черные заголовки весьма неприятны для человеческого глаза.
Поэтому я увидел хороший учебник по PHP и сразу начал писать, чтобы учли мои просьбы. Например первая из них - не вылезать за границы страницы. Иначе примеры становится читать очень неудобно. Вторая - как я уже говорил про то, что черные заголовки - не всегда приятно я повторю это еще раз. Хотел бы чтобы заголовки были оформлены хотя бы любым цветным цветом. На этом пока мои пожелания закончились. Будут еще - напишу. Volobuev Ilya. Создатель проекта учебник по программированию 06:57, 16 мая 2014 (UTC)
- «Черные заголовки» можно найти едва ли не в любом печатном издании. Если говорить о Европе — первые из оных появились в XV в. Почему-то без малого шесть веков это проблемы не составляло. (Хочу, кроме того, обратить внимание на w:Википедия:Персональное оформление, — любой участник Викиучебника может при просмотре применять оформление страниц, соответствующее собственным предпочтениям. Вносить изменения в сами страницы при этом не требуется.)
- В отношении «границ страницы» — где именно возникают проблемы?
- — Ivan Shmakov (о ▞ в) 07:33, 16 мая 2014 (UTC)
Скажи, тебе удобно читать учебник, где одна строка длинная, а другая короткая? Volobuev Ilya. Создатель проекта учебник по программированию 15:04, 16 мая 2014 (UTC)
Универсальность
[править]Предлагаю вместе с POST и GET запросами описать и $_REQUEST и объяснить, что при написании кода им пользоваться удобнее, т.к в будущем при изменении POST на GET и обратно, не потребуется переписывать весь код. noName188.162.245.64 17:17, 6 июля 2016 (UTC)
Ошибка в синтаксисе описания таблицы в параграфе "2.3. Внешние переменные"
[править]В параграфе "2.3. Внешние переменные" данного учебника содержится ошибка. А именно, в начале параграфа у вас есть список из двух пунктов и в первом элементе списка написано следущее:
1. Сначала PHP инициализирует массивы $_ENV (содержащий переменные среды-окружения; англ. environment) и $_SERVER[1]. Ассоциативный массив $_SERVER содержит следующие ключи (индексы массива): {| class="wikitable" !Ключ (индекс ячейки массива) !Полный путь к ячейке массива !Содержимое ячейки массива |- |HTTP_USER_AGENT |$_SERVER['HTTP_USER_AGENT'] |Сведения о браузере клиента. |- |HTTP_ACCEPT |$_SERVER['HTTP_ACCEPT'] |Принимаемые MIME-типы. Может служить для определения возможностей браузера. |- |PHP_SELF |$_SERVER['PHP_SELF'] |Путь к файлу, содержащему выполняющийся скрипт, относительно корневого каталога (папки) сервера. Пример: /w/index.php. |}
Вы явно хотели сделать какую-то табличку. Судя по всему, словами "{| class="wikitable" !Ключ (индекс ячейки массива)..." начинается и словами "... (папки) сервера. Пример: /w/index.php. |}" заканчивается описание некоторой таблички. Однако вместо самой таблицы на страницу выводится, похоже, её исходный текст. Или допущена ошибка в синтаксисе описания таблицы, или вы забыли таблицу заключить в какие-то тэги. Поправьте, пожалуйста, эту ошибку. Указание на ошибку я оставил в самом тексте учебника.
217.10.40.176 12:40, 16 августа 2016 (UTC)