Проект “WordShift”. Добавляем класс “Load”.

Wordshift-CMS

На данный момент проект “Wordshift” включает следующие файлы:

  • “index.php” – его содержание не отличается от содержания такого же файла WordPress.
  • “blog-header.php” – его содержание также не отличается от файла “wp-blog-header.php” WordPress.
  • “wp-load.php” – отличается от такого же файла WordPress тем, что содержит дополнительные именные константы.
  • “wp-config.php” – отличается от “wp-config.php” WordPress только тем, что в нём не определяется именная константа “ABSPATH”, так как она уже была объявлена в файле “wp-load.php”.
  • “wp-settings.php” – в этом файле вместо функции “require()” использован класс “AutoLoader”. Все глобальные переменные теперь хранятся в классе “GlobalVariables”.
  • Autoloader.php” – располагается в папке “core”.
  • Exceptions.php” – располагается в папке “core”.
  • GlobalVariables.php” – располагается в папке “core”.
  • “Response.php” – располагается в папке “core”. В этом файле объявлен класс “Response”, который пока оперирует одним методом “getInstance()“.

В файл “wp-load.php” внесены следующие дополнительные константы:

  1. “DS” – это предопределённая константа PHP “DIRECTORY_SEPARATOR“. Её использование обусловлено тем, что в разных ОС есть разные разделители каталогов. В Windows это “\”, а в Linux это “/”. PHP это учитывает, потому в переменной “DIRECTORY_SEPARATOR” хранится тот разделитель, который характерен для той или иной операционной системы.
  2. WP_PUBLIC” – содержит путь к директории “public
  3. CORE” – содержит путь к директории “core
  4. ENGINE” – содержит путь к директории “engine
  5. THEMES” – содержит путь к директории “themes
  6. JS” – содержит путь к директории “js
  7. CSS” – содержит путь к директории “css

Также в этот файл перенесены такие именные как:

  • WP_CONTENT_URL” – url адрес папки “content
  • WP_LANG_DIR” – физический адрес папки “languages
  • WP_PLUGIN_DIR” – физический адрес папки “plugins
  • WP_PLUGIN_URL” – url адрес папки “plugins
  • WPMU_PLUGIN_DIR” – физический адрес папки “mu-plugins
  • WPMU_PLUGIN_URL” – url адрес папки “mu-plugins
  • WP_SITEURL” – содержит url адрес, корневой папки WordPress

Теперь добавим в проект файл файл “Load.php”. В нём описан класс “Load”. В этот класс включены все функции файла “load.php” стандартной редакции WordPress. В них внесены небольшие изменения:

  • Во-первых все глобальные переменные хранятся в классе “GlobalVariables“.
  • Во-вторых убраны те строки кода, где происходит подключение дополнительных файлов. Это сделано потому, что класс “AutoLoader“, как было сказано выше, подключает все необходимые файлы.
  • В-третьих работа с глобальными массивами ($_GET, $_POST, $_ENV и т.д.) теперь осуществляется через одноимённые классы. Файлы с этими классами располагаются в подпапке “globals” директории “core”. В дальнейшем эти классы будут наполняться новыми методами.
  • В-четвёртых все статические переменные объявляются и инициализируются при создании экземпляра класса.

Кроме того добавлен файл “LoadFunction.php“. В нём прописаны функции, которые вызывают одноимённые методы класса “Load”. зачем это вообще надо? Так как “Wordshift” является модификацией WordPress, то логично что, плагины и шаблоны, написанные для этой CMS должны быть совместимы с данным проектом. А так как WordPress представлен огромным количеством функций, то наличие таких же функций в “Wordshift” поможет в достижении этой цели. Файл с этими функциями также подключается классом “AutoLoader“.

You may also like...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Sign up
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.