Новости Joomla

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 3830 Просмотров
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Как создаются эти классы?
Вот допустим в стандартных компонентах есть куски:
Код
function saveBanner( $task ) {
global $database;

$row = new mosBanner($database);

function saveContact( $option ) {
global $database;

$row = new mosContact( $database );
Эта же конструкция (ex. new mosContact( $database ); ) используется для выхода из режима редактирования, например:
Код
function cancelEditBanner() {
global $database;

$row = new mosBanner($database);
$row->bind( $_POST );
$row->checkin();
интересует конструкция $row = new ... ($database);
также хотелось узнать назначение строки
Код
require_once( $mainframe->getPath( 'class' ) );
« Последнее редактирование: 11.09.2008, 22:35:32 от iT)ZevS( »
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Re: Классы в бакенде компонента
« Ответ #1 : 11.09.2008, 22:02:34 »
Physicist, на тебя как всегда надежда ;)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Классы в бакенде компонента
« Ответ #2 : 11.09.2008, 22:40:42 »
Не очень понятен сам вопрос "как создаются"... тебя интересует техническая сторона реализации создания экземпляра класса?

строка:

Код: php
require_once( $mainframe->getPath( 'class' ) );

подключает файл со следующим именем: имякомпонента.class.php
Т.е. если компонент называется datsogallery, то такая строка подключит файл datsogallery.class.php
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Re: Классы в бакенде компонента
« Ответ #3 : 11.09.2008, 22:44:29 »
Не очень понятен сам вопрос "как создаются"... тебя интересует техническая сторона реализации создания экземпляра класса?
мне нужно в своем компоненте сделать аналонично. например выйти из редактирования. как использовать конструкцию $row = new ... ($database); ?
строка:

Код: php
require_once( $mainframe->getPath( 'class' ) );

подключает файл со следующим именем: имякомпонента.class.php
Т.е. если компонент называется datsogallery, то такая строка подключит файл datsogallery.class.php
в компонентах com_banner и др. нет .class.php а строка есть.
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: Классы в бакенде компонента
« Ответ #4 : 11.09.2008, 22:52:38 »
Ну почему сразу на меня? Тут на форуме специалистов много.
А у меня времени мало.

Самый простой ответ был бы: «не обращай внимания, пиши как тебе удобно, можно вообще без классов обойтись». Но более правильный ответ всё же — использование классов-наследников mosDBTable позволяет облегчить задачу переноса данных из заполненной пользователем формы в БД (через методы bind/check/store). Подробно описывать нет времени, но суть должна быть вполне понятна из исходников тех классов, которые ты привел (mosBanner, mosContact, mosContent, и т.д.), а также из комментариев к методам класса mosDBTable (он определяется в /includes/database.php, кажется).

$mainframe->getPath( 'class' ) «как правило» возвращает путь к файлу /components/com_<comp>/<comp>.class.php, где <comp> — это имя текущего компонента ($option) без начальных «com_». Почему «как правило», какие могут варианты, и какие еще параметры принимает метод getPath — см. в исходниках методов _setAdminPaths и getPath в /includes/joomla.php
« Последнее редактирование: 11.09.2008, 22:55:41 от Physicist »
*

yAnTar

  • Захожу иногда
  • 296
  • 81 / 3
Re: Классы в бакенде компонента
« Ответ #5 : 11.09.2008, 23:15:30 »
Насчет mosDBTable - посмотри
здесь
Firefox the best, Google the best, jQuery the best.
yAnTar блог
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Re: Классы в бакенде компонента
« Ответ #6 : 11.09.2008, 23:20:38 »
Ну почему сразу на меня? Тут на форуме специалистов много.
А у меня времени мало.
в том и дело что помочь по таким вопросам могут единицы на форуме, которые как правило без дела не сидят. А ты, потому что решил мои последние 3-4 топика :)
Насчет mosDBTable - посмотри
здесь
да это я все прочел. только там задается класс
Код
class xTable extends mosDBTable {
 
        var $id=null;//первичный ключ
        var $name=null;//имя записи
 
        /**
        * Конструктор класса.
        */
        function myTable( &$db ) {
                $this->mosDBTable( '#__xtable', 'id', $db );
        }
 }
а в стандартных я этого не вижу... там сразу $param = new xTable( $database );

Ищу хвосты создания класса компонента com_banner
« Последнее редактирование: 11.09.2008, 23:26:46 от iT)ZevS( »
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Классы в бакенде компонента
« Ответ #7 : 11.09.2008, 23:30:24 »
а в стандартных я этого не вижу... там сразу $param = new xTable( $database );
А они сразу в includes/joomla.php прописаны
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Re: Классы в бакенде компонента
« Ответ #9 : 11.09.2008, 23:33:05 »
А они сразу в includes/joomla.php прописаны
не нашел прямого указания на com_banner например. Там все решают методы _setAdminPaths и getPath и у меня пока не получается подружить их со своим компонентом...
*

iT)ZevS(

  • Захожу иногда
  • 177
  • 31 / 2
Re: Классы в бакенде компонента
« Ответ #10 : 11.09.2008, 23:34:03 »
<joomla>/components/com_banners/banners.class.php
ну нифигасе развязочка :) + всем. дальше копаю :)
*

Physicist

  • Глобальный модератор
  • 984
  • 194 / 0
  • Рябов Денис
Re: Классы в бакенде компонента
« Ответ #11 : 11.09.2008, 23:34:32 »
класс mosBanner объявляется в /components/com_banners/banners.class.php
mosContact — в /components/com_contact/contact.class.php

Подключаются эти *.class.php файлы к компоненту как раз через require_once($mainframe->getPath('class'))

А в joomla.php объявляются только частоиспользуемые mosContent, mosCategory, mosSection, mosUser и т.д.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Взлом или что это? На сайте играет непонятн&#

Автор Adam.K

Ответов: 9
Просмотров: 5110
Последний ответ 19.04.2022, 13:55:59
от jatexa
Вопрос по нагрузке на сервер

Автор dealerbee

Ответов: 1
Просмотров: 1981
Последний ответ 22.09.2009, 23:02:04
от HerrOber
Добавить функцию вводного текста во фронm

Автор HerrOber

Ответов: 2
Просмотров: 2148
Последний ответ 31.08.2009, 15:18:07
от HerrOber
Музыка на фоне. КАК?

Автор xander kej

Ответов: 8
Просмотров: 3804
Последний ответ 18.08.2009, 10:25:01
от xander kej
модуль FlyMod

Автор Death

Ответов: 1
Просмотров: 3590
Последний ответ 29.04.2009, 14:04:45
от pitzoom