ORM для MODX (или как юзать другие сторонние библиотеки)
Добрый день!
Почему-то многие забывают (или даже не знают, хехе) что MODX написан на PHP. Что это значит?
Это означает что вам абсолютно ничего не мешает использовать composer или использовать сторонние библиотеки для решения ваших задач.
Вас запарил xPDO? Не беда, возьмите что-то другое :)
Меня лично xPDO не напрягает и не бесит, но рассказать вам, молодным пользователям, о том что можно его поменять — почему бы и нет.
Давайте скачаем RedBean с официального сайта и положим его в корень нашей установки MODX.
Далее, создадим новый snippet и начнем его с следующей строчки:
Далее, проверим что все хорошо
На сайте redbean вы можете прочитать как далее использовать библиотеку.
Таким образом, вы можете использовать любую PHP-based библиотеку в вашем MODX сайте.
Удачи!
Почему-то многие забывают (или даже не знают, хехе) что MODX написан на PHP. Что это значит?
Это означает что вам абсолютно ничего не мешает использовать composer или использовать сторонние библиотеки для решения ваших задач.
Вас запарил xPDO? Не беда, возьмите что-то другое :)
Меня лично xPDO не напрягает и не бесит, но рассказать вам, молодным пользователям, о том что можно его поменять — почему бы и нет.
Давайте скачаем RedBean с официального сайта и положим его в корень нашей установки MODX.
Далее, создадим новый snippet и начнем его с следующей строчки:
<?php
if(!@include("rb.php")) throw new Exception("Failed to include 'rb.php'");'
Таким образом мы подключим наш ORM в текущий сниппет. Далее, проверим что все хорошо
<?php
if(!@include("rb.php")) throw new Exception("Failed to include 'rb.php'");
R::setup( 'mysql:host=127.0.0.1;dbname=s20642','s20642', 'umGmlDPxmsut' );
if ( !R::testConnection() )
{
exit ('Нет соединения с базой данных');
}
И вызовем сниппет. Все! Это настолько просто!На сайте redbean вы можете прочитать как далее использовать библиотеку.
Таким образом, вы можете использовать любую PHP-based библиотеку в вашем MODX сайте.
Удачи!
Поблагодарить автора
Отправить деньги
Комментарии: 15
Что это было?
Заметка про require?)
При этом упомянут composer, но показан require без проверки
Фиксики пришли, порядок навели
if(!@include("rb.php")) throw new Exception("Failed to include 'rb.php'");'
Мда. Ещё круче. Самое то для новичков.
Я думаю Василий имел ввиду выражение require_once, а не вот это вот:
if(!@include("rb.php"))
Многие почему-то думают, что этого нельзя делать в MODX, я прям серьезно говорю
Многие просто не знают PHP и собирают сайты мышкой — поэтому вообще о таком не думают.
А если человек знает, что такое composer и умеете им пользоваться, никаких проблем в подключении сторонних библиотек в MODX не возникнет.
А если человек знает, что такое composer и умеете им пользоваться, никаких проблем в подключении сторонних библиотек в MODX не возникнет.
Ну конечно! А что на счёт, например, этого?
Как насчёт вообще ресурсов в админке ))
Был тут уже один экспериментатор ))
Если имеется ввиду, как использовать композер на modx 2.x, то я уже давно пользуюсь инструкцией Сергея Шлокова на его сайте.
А в modx 3.x вроде как композер из коробки уже есть.
А в modx 3.x вроде как композер из коробки уже есть.
Класс Modx расширяет класс Xpdo. Если не пользоваться Xpdo, то фактически не пользуемся Modx, зачем тогда Modx?
Ну тут наверное идея чуток другая. В снипет через require присобачить какой нить ORM который по сути я не знаю, что решает из задач.
Чисто юмора ради (хотя заметка и так вышла довольно юморная).
В продолжение этой фразы
И если бы меня кто спросил — я бы клялся что это все что угодно, но не php ибо мне в учебниках ничего подобного не попадалось.
В продолжение этой фразы
Почему-то многие забывают (или даже не знают, хехе) что MODX написан на PHP.Я когда впервые увидел код сайта на modx был уверен, что это какой-то неведомый мне язык программирования. Какие-то [[+id]], непонятные скобочки, синтаксис которого не видел нигде, какие-то телевизоры)
И если бы меня кто спросил — я бы клялся что это все что угодно, но не php ибо мне в учебниках ничего подобного не попадалось.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.