ORM для 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 сайте.

Удачи!
Павел Бигель
03 декабря 2019, 22:56
modx.pro
1
1 525
+9
Поблагодарить автора Отправить деньги

Комментарии: 15

Сергей Шлоков
04 декабря 2019, 07:37
0
Что это было?
    Павел Гвоздь
    04 декабря 2019, 07:39
    +6
    Заметка про require?)
      Василий Наумкин
      04 декабря 2019, 07:43
      +3
      При этом упомянут composer, но показан require без проверки
        Павел Бигель
        04 декабря 2019, 10:24
        0
        Фиксики пришли, порядок навели
          Сергей Шлоков
          04 декабря 2019, 11:18
          +2
          if(!@include("rb.php")) throw new Exception("Failed to include 'rb.php'");'
          Мда. Ещё круче. Самое то для новичков.
            Павел Гвоздь
            04 декабря 2019, 20:01
            0
            Я думаю Василий имел ввиду выражение require_once, а не вот это вот:
            if(!@include("rb.php"))
          Павел Бигель
          04 декабря 2019, 10:15
          0
          Многие почему-то думают, что этого нельзя делать в MODX, я прям серьезно говорю
            Василий Наумкин
            04 декабря 2019, 10:51
            +4
            Многие просто не знают PHP и собирают сайты мышкой — поэтому вообще о таком не думают.

            А если человек знает, что такое composer и умеете им пользоваться, никаких проблем в подключении сторонних библиотек в MODX не возникнет.
        Павел Гвоздь
        04 декабря 2019, 07:38
        0
        Ну конечно! А что на счёт, например, этого?
          Сергей Шлоков
          04 декабря 2019, 07:40
          +2
          Как насчёт вообще ресурсов в админке ))
          Сергей Шлоков
          04 декабря 2019, 08:28
          +2
          Был тут уже один экспериментатор ))
            Алексей Соин
            04 декабря 2019, 08:31
            +2
            Если имеется ввиду, как использовать композер на modx 2.x, то я уже давно пользуюсь инструкцией Сергея Шлокова на его сайте.

            А в modx 3.x вроде как композер из коробки уже есть.
              Павел Голубев
              04 декабря 2019, 10:21
              0
              Класс Modx расширяет класс Xpdo. Если не пользоваться Xpdo, то фактически не пользуемся Modx, зачем тогда Modx?
                Михаил
                04 декабря 2019, 10:24
                0
                Ну тут наверное идея чуток другая. В снипет через require присобачить какой нить ORM который по сути я не знаю, что решает из задач.
                Александр Мельник
                04 декабря 2019, 19:42
                0
                Чисто юмора ради (хотя заметка и так вышла довольно юморная).
                В продолжение этой фразы
                Почему-то многие забывают (или даже не знают, хехе) что MODX написан на PHP.
                Я когда впервые увидел код сайта на modx был уверен, что это какой-то неведомый мне язык программирования. Какие-то [[+id]], непонятные скобочки, синтаксис которого не видел нигде, какие-то телевизоры)
                И если бы меня кто спросил — я бы клялся что это все что угодно, но не php ибо мне в учебниках ничего подобного не попадалось.
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  15