Framework yii cms: phpnt/yii2-cms | Extensions | Yii PHP Framework

Содержание

Фреймворк Yii — обзор преимуществ и сравнение с другими фреймворками.

О фреймворке Yii

Yii — это высокоэффективный, основанный на компонентной структуре PHP-фреймворк для быстрой разработки крупных веб-приложений. Он позволяет максимально применить концепцию повторного использования кода и может существенно ускорить процесс веб-разработки. Название Yii (произносится как Yee) означает простой (easy), эффективный (efficient) и расширяемый (extensible).

Yii — это фреймворк для веб-программирования общего назначения, который может быть использован для разработки практически любых веб-приложений. Благодаря своей легковесности и наличию продвинутых средств кэширования, Yii особенно подходит для разработки приложений с большим потоком трафика, таких как порталы, форумы, системы управления контентом (CMS), системы электронной коммерции и др.

Преимущества фреймворка Yii

Быстрый запуск Быстрое вхождение программиста в проект за счет простоты кода фреймворка.

Бюджетное решение Недорогая реализация проекта за счет готовых модулей для фреймворка из коробки.

Развитие проекта Написав на фреймворке небольшой сайт через время можно доработать до портала тк функционал фреймворка не имеет ограничений.

Безопасность Высокий уровень защищенности фреймворка от хакерских атак.

Производительность Высокий уровень производительности работы сайта на фреймворке Yii.

Сообщество Имеет большую документацию, большое сообщество разработчиков.

Сравнение Yii с другими фреймворками

Фреймворк Yii в отличие от других фреймворков отличается продуманной документацией и эффективностью в работе, связно это напрямую с тем, что во время разработки были учтены все требования к современным веб-приложениям. Это самостоятельный продукт, в котором не применяются решения других фреймворков. Команда авторов лично имеет огромный опыт в разработке архитектур веб-приложений и свои личные исследования, опираясь на которые был разработан Yii.

Проще всего оценить масштаб популярности фреймворка по его статистики использования:

1. Статистика популярности от Sitepoin за 2015 год.

 

2. Популярность по статистике запросов, которую предоставляет Google Trends.

Из графиков выше, отчетливо видна стабильная третья позиция. Это хорошее место с учётом того, что используется график общемировой статистики.

Но если выделить только Россию, с помощью сервиса Google Trends, то картина кардинально меняется:

Из статистики видно, что в России и СНГ фреймворк Yii2 является самым популярным фреймворком. Прямо сейчас он делит популярность с Laravel. И каждый из них все равно существенно превосходят по популярности все остальные фреймворки.

Мы видим, что на территории Российской федерации и СНГ фреймворк Yii2 с отрывом занимаем первое место и рядом находится только Laravel. Причем оба, существенно опережают по популярности своих конкурентов, рассмотрим их дальше подробнее.

Другие фреймворки

Кроме фреймворка Yii2 есть и другие фреймворки для PHP, у каждого есть свои особенности.

Laravel

Laravel — лидер среди фреймворков, по технологии и развитию опережает Yii на шаг. Фреймворк Laravel активнее развивается чем Yii, каждый месяц выходят обновления ядра, но в этом есть свой экономический минус. Угнаться за технологиями очень сложно тк они разиваются очень стремительно, для поддержания проекта на Laravel вам потребуется сильная команда из нескольких разработчиков, что повлечет большие финансовые затраты, от 800 тыс руб в мес и выше.

Symfony

Symfony — низкоуровневый фреймворк, очень сложный в разработке. В отличии Yii2 или Laravel, Symfony не является простым в понимании фреймворком, для разработки проекта вам потребуется опытный разработчик именно на этом фреймворе.  

Yii CMS

На всех предлагаемых нами сайтах установлена система управления сайтом FastWeb CMS работающая на фреймворке Yii, со всем необходимым функционалом, с удобным интерфейсом, с возможностью развития и доработок, с обновлениями и поддержкой.

Подробнее про FastWeb CMS


Часто задаваемые вопросы

  • Какой фреймворк быстрее Yii или Laravel?

    Фреймворк Yii и Laravel по производительности одинаковы, разница в применяемых технологиях написания программного кода, эту разницу увидит только программист. Фреймворк Yii отстает от Laravel по скорости обновления ядра, но это дает Вам запас прочности на ближайшие 5 лет тк ядро Laravel к этому времени уже устареет из за интенсивного развития, для этой гонки требуются ресурсы. Это похоже на гонку между Intel и AMD.

  • Движек вашей Yii CMS можно дорабатывать?

    Да, код нашей CMS вы можете дорабатывать тк он написан на фреймворке Yii.

  • На чем лучше написать сайт, на фреймворке Yii или Битриксе?

    Битрикс очень тяжеловесный и устаревший фреймворк, современных технологий там нет, мы не рекомендуем что либо на нем писать. Yii будет в разы быстрее работать и проще писать разработчику.

  • На чем лучше написать сайт на WordPress или Yii?

    WordPress это готовая CMS, написана программистами уровня Junior, ждать чего то серьезного от ворпдресса нельзя.

  • Будет ли дальше развиваться Yii?

    Да, интерес к этому фреймворку есть, а пока есть потребность то будет предложение, поэтому будет 3 и 4 и 5 версия.

Yii2-gii (The Gii extension for the Yii framework)

This extension provides a Web-based code generator, called Gii, for Yii framework 2.0 applications.
You can use Gii to quickly generate models, forms, modules, CRUD, etc.

For license information check the LICENSE-file.

Documentation is at docs/guide/README.md.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --dev --prefer-dist yiisoft/yii2-gii

or add

"yiisoft/yii2-gii": "~2. 1.0"

to the require-dev section of your composer.json file.

Usage

Once the extension is installed, simply modify your application configuration as follows:

return [
    'bootstrap' => ['gii'],
    'modules' => [
        'gii' => [
            'class' => 'yii\gii\Module',
        ],
        // ...
    ],
    // ...
];

You can then access Gii through the following URL:

http://localhost/path/to/index.php?r=gii

or if you have enabled pretty URLs, you may use the following URL:

http://localhost/path/to/index.php/gii

Using the same configuration for your console application, you will also be able to access Gii via
command line as follows,

# change path to your application's base path
cd path/to/AppBasePath
# show help information about Gii
yii help gii
# show help information about the model generator in Gii
yii help gii/model
# generate City model from city table
yii gii/model --tableName=city --modelClass=City

2.

2.6 under development

  • no changes in this release.

2.2.5 September 04, 2022

  • Ehn #489: Added support for the ::class constant in model generator via the useClassConstant setting (rhertogh)
  • Bug #500: Fix missing namespace in CRUD index template (mohamed-nazim)
  • Bug #502: Setting skipOnEmpty to fix “trim(): Passing null to parameter” in generators/model/Generator.php (rhertogh)

2.2.4 December 30, 2021

  • Bug #467: Fix view generators/crud/default/controller (WinterSilence, cjrf)
  • Bug #476: Fix stucking datalist options in form generator (WinterSilence)
  • Bug #484: Add parent’s labels and hints, fix rule for attribute moduleClass in module generator (WinterSilence)
  • Bug #486: Update assets/js/bs4-native.min.js to latest version (WinterSilence)
  • Bug #488: Fix ActionColumn::$urlCreator in index template of CRUD generator (WinterSilence)
  • Enh #485: Add validation rules for enableI18N and messageCategory to Generator (WinterSilence)

2.

2.3 August 09, 2021

  • Enh #453: Allow CRUD to work with non-RDBMS ARs (WinterSilence)
  • Enh #458: Add CIDR support for allowedIPs (rhertogh)
  • Enh #462: Add support for viewing file differences on the CLI (rhertogh)

2.2.2 May 06, 2021

  • Bug #433: Fix insufficient category validation (samdark)
  • Bug #439: Replace client-side generation of model class name with an AJAX request and a serverside implementation to take options into account (WinterSilence)
  • Enh #444: Updated reserved keywords in generator (WinterSilence)
  • Enh #450: Add behaviors merging, pagination example, sorting example, loading defaults for a model to CRUD controller (WinterSilence)

2.2.1 May 02, 2020

  • Bug #428: Permit the usage of anonymous generators using dependency injection (aguevaraIL)

2.2.0 March 24, 2020

  • Enh #424: Added support for via() junction relations in model generator (rhertogh)

2.

1.4 January 17, 2020

  • Bug #422: Fix relational query getter documentation style (mikk150)
  • Enh #287: Model generator is now generating relation’s phpdoc hints with target ActiveQuery class (bscheshirwork)

2.1.3 November 19, 2019

  • Bug #417: Fixed issue where RTL implementation for foreign keys causes problems with LTR tables names (NickvdMeij)
  • Enh #416: Improved generation of model attributes and type annotations (uldisn)

2.1.2 October 08, 2019

  • Bug #413: Controller Generator produces invalid alias when namespace starts with backslash (cebe)

2.1.1 August 13, 2019

  • Bug #410: Inserted rows in the diff were not highlighted (albertborsos)

2.1.0 March 17, 2019

  • Enh #390, Bug #260: Create (bootstrap)-independent version (simialbi)
  • Bug #386: Move “Create” button outside of pjax container to avoid redirect (alexkart)
  • Bug #398, #397: Use strict mode when generating view folder name (machour)
  • Enh #395: Made yii\gii\CodeFile independent of controller context, do not apply $newDirMode and $newFileMode if module is not available (CeBe)
  • Enh #399: Option to allow singularize class names in model generator (alexkart)

2.

0.8 December 08, 2018

  • Bug #327: Fixed bug in Model generator when $baseClass is an abstract class (rhertogh)
  • Bug #379: Fixed bug in view page where delete button not work well (zacksleo)
  • Bug #383: Fix incorrect title generation in CRUD update view (bscheshirwork)
  • Enh #366: Option to allow standardized class names capitals in model generator (slinstj)
  • Enh #378: Remove useless import of Yii from CRUD generator search model template (CeBe)

2.0.7 May 3, 2018

  • Bug #185: Fixed bug in Model generators when FKs pointing to non-existing tables (adipriyantobpn)
  • Bug #328: Fixed bug in CRUD update view generator (ricpelo)
  • Bug #333: Fixed incorrect validation rule for TINYINT column type (nostop8)
  • Bug #340: Fixed bug in CRUD SearchModel generator (JeanWolf)
  • Bug #351: Fixed incorrect validation rule for JSON column type (silverfire)

2.0.6 December 23, 2017

  • Bug #97: Fixed errors and wrong directories created when using backslash in view paths and output paths of CRUD, Controller and Extension generators (lubosdz, samdark)
  • Bug #100, #102: Fixed “Check This File” button in the preview modal (Insensus, thiagotalma)
  • Bug #126, #139: Fixed model generator form validation when “ActiveQuery Class” is invalid but unused (kikimor)
  • Bug #149: Relation names no longer override existing methods and properties (Faryshta)
  • Bug #152: Fixed generating model without any rules (and800)
  • Bug #166: Fixed “Trying to get property of non-object” during model generation (zlakomanoff)
  • Bug #179: Fixed indentation and newlines for Pjax widget in CRUD index view (nkovacs)
  • Bug #182: Fixed wrong link after generating controller located in sub-namespace of controllers namespace (MKiselev)
  • Bug #186: Fixed incorrect database name exception (zlakomanoff, shirase)
  • Bug #198: Fixed false-positive detection of URL fields in CRUD generator (cebe)
  • Bug #200: Fixed Pjax and Listview with CRUD generator (ariestattoo)
  • Bug #224: Add default validator with null value for integers when db is PostgreSQL (MKiselev)
  • Bug #232: Fixed Help documentation link (drdim)
  • Bug #255: Fixed error when getting database driver name when db is not an instance of yii\db\Connection (MKiselev)
  • Bug #271: Fixed absolute namespace of model class in form generator (CeBe, amin3mej)
  • Bug #274: Added useTablePrefix and generateQuery to stickyAttributes (luyi61)
  • Bug #290: Fixed model generator to work properly with schema. table as table name (SwoDs)
  • Bug #317: Force HTML content type in response to display HTML when app is configured for REST API (microThread)
  • Bug #318: Use yii\base\BaseObject instead yii\base\Object in CodeFile.php (MKiselev)
  • Enh #131: Allow using table comments for PHPdoc property description (stmswitcher, michaelarnauts)
  • Enh #153: Added filename filter to generated files list preview (thiagotalma)
  • Enh #162: Model generator now detects foreign keys named as id_* (mootensai, samdark)
  • Enh #167: Added “generating relations from current schema” option to model generator (zlakomanoff)
  • Enh #174: NotFoundHttpException message in CRUD now uses i18n (bscheshirwork)
  • Enh #223: Use ilike operator when generating search model for PostgreSQL (MKiselev, arogachev)
  • Enh #230: Allowed underscores for extension namespaces (Nex Otaku)
  • Enh #234: Changed submit button label from “Update” and “Create” to “Save” (MKiselev)
  • Enh #238: Use int/bool instead of integer/boolean in phpdoc blocks generated (MKiselev)
  • Enh #241: Remove message for unique validator (MKiselev)
  • Enh #249: unique validation rule is now generated for tables with multiple primary keys (dmirogin)
  • Enh #252: Added meta tag to prevent indexing of debug by search engines in case it’s exposed (bashkarev)
  • Enh #293: Do not generate redundant else after return (bscheshirwork)
  • Enh #295: Allowed to use aliases in generator’s templates (dmirogin)
  • Enh #300: Removed space from commented out code so when uncommenting in IDEs there’s no extra spacing (bscheshirwork)
  • Enh #315: Make yii\gii\generators\model\Generator generateProperties protected (claudejanz)
  • Enh #319: Added @throws tags for 404 exceptions in CRUD actions (and800)
  • Enh: yii\gii\Module::defaultVersion() implemented to pick up ‘yiisoft/yii2-gii’ extension version (klimov-paul)
  • Chg #246: Changed the way CRUD generator translates “Update X id”. Now it’s a whole string because of translation difficulties (bscheshirwork)

2.0.5 March 18, 2016

  • Bug #66: It was impossible to use tables with spaces (cornernote)
  • Bug #79: There was no form element to toggle using schema name for class name (phpniki)
  • Bug #83: Files were overwritten regardless of answers in console Gii (chernyshev, jeicd)
  • Bug #104: Allow reuse of the Gii Module for running multiple actions (cebe)
  • Bug #109: Exception was thrown when yii\rest\UrlRule was used in UrlManager::ruleConfig (lichunqiang)
  • Bug #116: Added table prefix autoremoving from the generated model className (umanamente, silverfire)
  • Bug #134: Model generator was not validating ActiveQuery namespace (zetamen)
  • Enh #20: Added support for composite (multi-column) foreign keys in junction tables (nineinchnick)
  • Enh #34: Model generator now skips FKs pointing to non-existing tables (samdark)
  • Enh #42: Entire preview code now can be copied by pressing CTRL+C (thiagotalma, samdark)
  • Enh #54: Model generator is now able to generate reverse relations (nineinchnick)
  • Enh #56: Model generator now generates exist rules based on table foreign keys (Faryshta, samdark)
  • Enh #95: More parameters are now available in query. php view of model generator (demisang)
  • Enh #99: Added enablePjax option to wrap GridView with Pjax (Faryshta, silverfire)
  • Enh #135: Footer now sticks to the bottom of the page (zetamen)
  • Chg #38: Added compatibility with latest Typeahead version (razvanphp)

2.0.4 May 10, 2015

  • Bug #5098: Properly detect hasOne relations (nineinchnick)
  • Bug #6667: Gii form generator rendering mistake view (pana1990)
  • Bug (CVE-2015-3397): Using Json::htmlEncode() for safer JSON data encoding in HTML code (samdark, Tomasz Tokarski)
  • Enh #2109: Added ability to generate ActiveQuery class for model (klimov-paul)
  • Enh #7830: Added ability to detect relations between multiple schemas (nineinchnick)

2.0.3 March 01, 2015

  • Chg #7328: Changed the way CRUD generator translates “Create X”. Now it’s a whole string because of translation difficulties (samdark)

2.0.2 January 11, 2015

  • Bug #6463: The Gii controller generator generates incorrect controller namespace (pana1990)
  • Enh #3665: Better default behavior for ModelSearch generated by the crud generator (qiangxue, mdmunir)

2.

0.1 December 07, 2014

  • Bug #5070: Gii controller generator should use controller class name instead of controller ID to specify new controller (qiangxue)
  • Bug #5745: Gii and debug modules may cause 404 exception when the route contains dashes (qiangxue)
  • Bug #6367: Added yii\gii\generators\crud\Generator to support customizing view path for the generated CRUD controller (qiangxue)
  • Bug: Gii console command help information does not contain global options (qiangxue)
  • Enh #5613: Added --overwrite option to Gii console command to support overwriting all files (motin, qiangxue)

2.0.0 October 12, 2014

  • Bug #5408: Gii console command incorrectly reports errors when there is actually no error (qiangxue)
  • Bug: Fixed table name regression caused by changed introduced in #4971 (samdark)

2.0.0-rc September 27, 2014

  • Bug #1263: Fixed the issue that Gii and Debug modules might be affected by incompatible asset manager configuration (qiangxue)
  • Bug #2314: Gii model generator does not generate correct relation type in some special case (qiangxue)
  • Bug #3265: Fixed incorrect controller class name validation (suralc)
  • Bug #3693: Fixed broken Gii preview when a file is unchanged (cebe)
  • Bug #4410: Fixed Gii to preserve database column order in generated _form. php (kmindi)
  • Bug #4971: Fixed hardcoded table names in viaTable expression in model generator (stepanselyuk)
  • Enh #2018: Search model is not required anymore in CRUD generator (johonunu)
  • Enh #3088: The gii module will manage their own URL rules now (qiangxue)
  • Enh #3222: Added useTablePrefix option to the model generator for Gii (horizons2)
  • Enh #3811: Now Gii model generator makes autocomplete for model class field (mitalcoi)
  • New #1280: Gii can now be run from command line (schmunk42, cebe, qiangxue)

2.0.0-beta April 13, 2014

  • Bug #1405: fixed disambiguation of relation names generated by gii (qiangxue)
  • Bug #1904: Fixed autocomplete to work with underscore inputs “_” (tonydspaniard)
  • Bug #2298: Fixed the bug that Gii controller generator did not allow digit in the controller ID (qiangxue)
  • Bug #2712: Fixed missing id in code file preview url (klevron)
  • Bug: fixed controller in crud template to avoid returning query in findModel() (cebe)
  • Enh #1624: generate rules for unique indexes (lucianobaraglia)
  • Enh #1818: Do not display checkbox column if all rows are empty (johonunu)
  • Enh #1897: diff markup is now copy paste friendly (samdark)
  • Enh #2327: better visual representation of changed files, added header and refresh button to diff modal (thiagotalma)
  • Enh #2491: Added support for using the same base class name of search model and data model in Gii (qiangxue)
  • Enh #2595: Browse through all generated files using right and left arrows (thiagotalma)
  • Enh #2633: Keyboard shortcuts to browse through files (thiagotalma)
  • Enh #2822: possibility to generate I18N messages (lucianobaraglia)
  • Enh #2843: Option to filter files according to the action. (thiagotalma)

2.0.0-alpha, December 1, 2013

  • Initial release.

Добавить отзыв


dev-master — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.5 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.4 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.3 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.2 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.1 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.2.0 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.1.4 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.1.3 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.1.2 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.1.1 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.1.0 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.8 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.7 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.6 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.5 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.4 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.3 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.2 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.1 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.0 — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.0-rc — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.0-beta — 1 янв. 1970 г., 3:00:00 (53 года назад)

2.0.0-alpha — 1 янв. 1970 г., 3:00:00 (53 года назад)

Стандартная установка:

Добавьте composer. json файл вашего проекта:


"yiisoft/yii2-gii": "*"

Запустите обновление зависимостей


Читать про обнолвение SkeekS CMS

Craft CMS + Laravel: союз, заключенный на небесах? | Блог

Может ли переход с Yii Framework на Laravel быть в будущем выпуске Craft CMS? Основатель и генеральный директор Craft CMS Брэндон Келли недавно дал несколько советов в Craft CMS Discord.

Craft CMS всегда была построена на Yii Framework, версия 1 началась с Yii 1, а Craft 3 совершил значительный скачок к Yii 2. Вероятно, можно с уверенностью сказать, что в то время (с 2013 по 2020 год) сообщество PHP встречался, женился и теперь думает о создании семьи с Laravel. Теперь, в своем 8-м выпуске, Laravel Framework стал де-факто выбором для разработки веб-приложений PHP в 2020 году.0003

График веб-поиска «Laravel» и «Yii» из Google Trends

Просмотрите исходные данные в Google Trends

Конечно, здесь, в Enovate, мы выбираем Laravel для многих новых проектов по разработке веб-приложений благодаря его широкому распространению и дружелюбному разработчику -опыт. Как и многие веб-агентства нашего размера, мы используем в своих проектах и ​​Craft CMS, и Laravel, а время от времени и то, и другое. Наши разработчики, безусловно, чувствуют себя более комфортно и продуктивно, работая с Laravel, и редко говорят с похвалой или энтузиазмом о Yii Framework. Эти два фреймворка используют разный подход к опыту разработчиков, и мы часто хотим, чтобы у нас были функции, доступные в Yii, которые существуют в Laravel, и то же самое нельзя сказать в обратном порядке.

Так что я был очень взволнован, когда услышал, что на недавней онлайн-встрече Craft CMS в Лондоне, которую мы организовали, Джон Мортон (куратор Craft Link List) упомянул, что Брэндон Келли поднял тему перехода Craft CMS с Yii на Laravel в будущая версия в сообществе Craft CMS Discord (#extending-craft, 21 августа 2020 г.):

Мы рассматривали ее перед переносом на Yii 2, но в то время Yii все еще был очевидным выбором. С приближением Yii 3 мы снова рассматриваем его, и на этот раз Laravel определенно выглядит лучшим выбором.

[…]

Это, скорее всего, произойдет, вопрос в сроках

Брэндон Келли, основатель и генеральный директор Craft CMS

GIF-файлы при совместном использовании с (удаленными) коллегами по работе! Подумайте об уровнях танца Карлтона, полных безудержной радости!

Несмотря на то, что до сих пор Yii зарекомендовал себя как безопасная и стабильная основа для Craft CMS, стало ясно, что Laravel — это то место, куда продвинулось PHP-сообщество, и у него есть потенциал для обеспечения фантастической основы для Craft CMS в будущем.

Те из нас, кто был частью пути Craft CMS с тех пор, как мы получили версию 1 еще в 2013 году, вероятно, в ужасе отшатываются от перспективы еще одного обновления/миграции типа Craft версии 3. Я тоже, но Брэндон быстро подкрепил свои комментарии некоторыми заверениями относительно того, чтобы сделать переход для разработчиков и наших клиентов как можно более плавным и безболезненным:

сообщество, когда-либо снова, поэтому нам нужно будет выяснить, как это сделать, чтобы не сойти с ума.

Брэндон Келли, основатель и генеральный директор Craft CMS

Тем не менее, я думаю, что на самом деле изменение такого масштаба всегда будет сопровождаться несколькими ударами, но услышать обещание Брэндона Келли свести их к минимуму был достаточно хорош для меня. Я думаю, мы все понимаем, что при выборе Craft, современной CMS, которая стремится оставаться такой, элемент обслуживания приходит вместе с территорией. Лично я не понимаю, как этот переход может быть выполнен без некоторой боли для нас, разработчиков, но приз (будучи на Laravel) мотивирует нас сделать гораздо больше, чем когда-либо мог переход на Yii версии 3.

На мой взгляд, переход на Laravel имеет большое значение для Craft. Возможность познакомить большое сообщество Laravel с такой отточенной CMS, как Craft, изменит как Craft CMS как бизнес, так и потенциально для нас, партнеров Craft CMS, и разработчиков, которые ежедневно работают с Craft CMS.

Кроме того, было бы здорово, если бы наши разработчики чувствовали себя как дома при переходе от наших проектов веб-приложений, построенных на Laravel, к проектам Craft CMS. Кроме того, возможность повторного использования кода вместе с такими инструментами, как тестовые среды, CI и подходы к развертыванию, значительно сэкономит время и принесет пользу нам как компании.

Я собираюсь выставить свою шею и сказать, что переход на Laravel Framework с Yii может стать самым трансформирующим изменением, которое претерпела Craft CMS с момента своего дебюта в 2013 году.

Давайте сделаем это Craftisans !

Включите JavaScript для просмотра комментариев с помощью Disqus.

С тегами:

Вам также может понравиться…

by Michael Walsh

Веб-разработка с использованием Yii framework в Digitize Info System

YII Framework «Да, это так!»

Цян Сюэ начал работать над YII 1 st января 2008 г. У него был опыт разработки фреймворков в PRADO, одном из самых известных фреймворков PHP.

  • YII — это PHP-фреймворк, основанный на объектно-ориентированном php5.
  • Это высокопроизводительная компонентная среда для крупномасштабных веб-приложений, которая обеспечивает максимальное повторное использование в веб-программировании и может значительно ускорить процесс разработки.
  • YII — это фреймворк MVC (контроллер представления модели), превосходящий другие фреймворки PHP, он многофункциональный и четко документирован.
  • Он тщательно разработан с самого начала, чтобы соответствовать серьезной разработке веб-приложений.
  • Говорят, что фреймворк YII является лучшим, потому что он основан на шаблоне проектирования DRY (Не повторяйтесь), поэтому его называют фреймворком быстрой разработки приложений.
  • Для запуска веб-приложения на основе YII необходим веб-сервер с поддержкой PHP 5.1.0 или выше и MySQL. Для разработчиков, которые хотят использовать YII, понимание объектно-ориентированного программирования (ООП) очень полезно, потому что YII — это чистая структура ООП.
  • YII был протестирован с HTTP-сервером Apache в операционных системах Windows и Linux.
  • Платформа YII — это бесплатное программное обеспечение, выпущенное в соответствии с условиями лицензии BSD.
  • Содержимое документации YII можно копировать, изменять и распространять, если новая версия предоставляет те же свободы другим и признает авторов использованной статьи документации YII.

Эксклюзивные функции Yii

  • Включает шаблон проектирования MVC (Model-View-Controller).
  • Поддерживает перевод сообщений, форматирование даты и времени, форматирование чисел и локализацию интерфейса. (Интернационализация и локализация (I18N и L10N)).
  • Средство многоуровневой схемы кэширования. Он поддерживает кэширование данных, кэширование страниц, кэширование фрагментов и динамическое содержимое. Носитель кэширования может быть изменен.
  • Интеллектуальное управление обработкой запросов веб-сервисов.
  • Меры безопасности включают предотвращение межсайтовых сценариев (XSS), предотвращение подделки межсайтовых запросов (CSRF), предотвращение подделки файлов cookie и т. д.
  • Обработка ошибок и протоколирование. Ошибки обрабатываются и представляются более красиво, а сообщения журнала можно классифицировать, фильтровать и направлять в разные места назначения.
  • Модульное и функциональное тестирование на основе PHP Unit и Selenium.
  • Код, сгенерированный компонентами YII и инструментами командной строки, соответствует стандарту XHTML.
  • Автоматическая генерация кода для скелетного приложения, приложений CRUD и т. д.
  • Тщательно разработан для работы со сторонним кодом. Например, в приложении YII можно использовать код из PEAR или ZEND Framework.

Знание структуры каталогов YII

Каталоги верхнего уровня: На верхнем уровне у нас есть четыре каталога

  • бэкэнд: бэкэнд-приложение, которое в основном используется администраторами сайта для управления всей системой.
  • внешний интерфейс: внешний интерфейс, который предоставляет основные интерфейсы нашим целевым конечным пользователям.
  • консоль: консольное приложение, состоящее из консольных команд, необходимых системе.
  • Общий: каталог, содержимое которого совместно используется вышеуказанными приложениями.

Как видим, всю систему мы делим на три приложения: бэкэнд, фронтенд и консоль. При необходимости мы можем добавить и другие приложения.

Каталоги приложений: Структура каталогов каждого приложения очень похожа. Например, для внешнего интерфейса и внутреннего интерфейса они оба имеют эти каталоги

  • компонентов: содержит компоненты (например, помощники, виджеты), которые используются только этим приложением
  • конфигурация: содержит конфигурацию, используемую приложением
  • контроллеры: содержит классы контроллеров сторонние библиотеки, используемые только этим приложением
  • модели: содержит классы моделей, специфичные для приложения
  • время выполнения: сохраняет динамически сгенерированные файлы
  • Просмотр: Действия контроллера.