Создание сайтов на CMS не ограничивается лишь Drupal, Joomla и Wordpress. В мире большинство сайтов сделано на самописных CMS. Несмотря на что уже написано много кода на PHP, программисты очень часто используют свои собственные разработки. Давайте попробуем понять зачем использовать свою CMS.
Мы уже знаем разные типы данных и некоторые функции для работы с ними. На самом деле в PHP очень много уже готовых функций, на их обзор уйдет не один учебник, поэтому давайте разберем только некоторые из них. Начнем с того как сделать из массива строку и обратно из строки массив.
Довольно часто нам в зависимости от обстоятельств приходится принимать различные решения. В программировании как в жизни от условий приходится выбирать что делать. Если в жизни мы принимаем решения подумав головой, то в PHP мы используем оператор IF (если). Если пойдет дождь, я возьму зонт, если будет тепло, мы пойдем на пляж. Так в PHP мы проверяем выражения на истинность и выполняем соответствующие действия:
В прошлом уроке мы разобрали использование функций в PHP. А теперь еще немного углубимся в их использование. До этого урока мы разбирали функции такого вида:
<?php
function myFunction(){ //определение функции
}
$x = myFunction(); //вызов функции
?>
Но что будет если вызвать функцию прямо в теле функции?
Я думаю, что мы уже вплотную приблизились к тому моменту, когда пора.. пора уже и начать программировать. После этого урока вы сможете сказать, что вы программировали на PHP. Довольно часто приходится писать код, который должен повторяться на других страницах, в других .php файлах. Чтобы не дублировать этот код в PHP есть функции.
Запросы слияния это специальный гибридный тип запросов. Хотя синтаксис для этих запросов был определен в SQL 2003, фактически нет БД поддерживающих этот синтаксис. Однако большинство БД предоставляют альтернативную реализацию использования специфического синтаксиса. Конструктор запросов слияния в Drupal абстрагирует концепцию слияния запроса в структуре объекта, так что объект может быть скомпилирован для каждой БД по разному с учетом ее специфики.
Запросы обновления должны всегда использовать конструктор запросов. Различные БД имееют специфические обработчики для LOB (Large OBject, такие как TEXT в MySQL) и поля BLOB (Binary Large OBject), так что уровень абстракции требуется для индивидуальных драйверов для реализации специфических обработчиков.
Запросы обновления должны начинаться с функции db_update():
Важной особенностью динамических запросов выбора является возможность других модулей изменять запросы на лету. Это позволяет другим модулям вставлять их собственные инструкции в запрос, тем самым влияя на поведение запроса или применить изменения во время выполнения запроса, например задать разграничение прав к нодам. Существуют 3 компонента изменения запроса на лету, tagging, meta data и hook_query_alter().
После того как разработчики PHP определились с номером версии для нового PHP (новая версия будет PHP 7.x, а не PHP 6.x, наработки по 6.x были перенесены в ветку 5.x), пришло время спланировать граф