Yii2-app is Fast and Ready-to-production advanced project template.
Dockerized, for development- mysql, nginx, php-fpm containers
For you, I downgrade requirement to PHP v5.6. But PHP 7.1 is better! because it is really fast.
Please, enable php intl extension for better work.
Default, the template includes three tiers: frontend
, backend
, and console
, each of which is a separate Yii application.
NOTE: Template is in initial development. Anything may change at any time.
- Gentelella Admin template is beautiful and simple bootstrap, compatible with yii2 assets: yiister/yii2-gentelella, Demo
- Yii2 User is strong and proved user-module with many features: dektrium/yii2-user (login
adminus
, passwordadminus
) - Frontend and Backend User Controllers are filtered (by
dektrium/yii2-user
) - DB cache, but I recommend Redis Cache - it is really fast
- Yii2 queue (DB table
queue
), but you can use Redis-queue or other yii2-queue docs - Queue Manager with backend (
/queuemanager/default/index
) using ignatenkovnikita/yii2-queuemanager - Log DB Target with backend (
/log/index
) - simply view log messages - .htaccess - config for pretty urls (rewrite index.php), may be later add nginx config
- UrlManagerFrontend for backend app (all url rules in file
frontend/config/urls.php
, hostInfo incommon/config/params.php
) - i18n translations in
common/messages
with config (current only English and Russian, language translation are welcome!) - ContactForm in frontend app is improved: himiklab/yii2-recaptcha-widget,
all email are saved to DB (
common/models/EmailForm
Model), optionally send message to Viber messenger via bot (install requirements Bogdaan/viber-bot-php and config, uncomment code in Model) - postcss config (
frontend/web/src/pcss//*.css
) - Gii generator:
- added yii2-queue Jobs generator
- yii2 migration generator (from existing table) Insolita/yii2-migrik
- schmunk42/yii2-giiant - really steroid, but in development with bugs
These modules can be easy installed to Yii2-App using Composer:
- Yii2 Super Blog Module (semantic, seo): akiraz2/yii2-blog
- Yii2 many web-statictic counters (all-in-one) (yandex, google, own db-counter): akiraz2/yii2-stat
- yii2 opengraph component: dragonjet/yii2-opengraph
- yii2 settings (db+cache): yii2mod/yii2-settings
- etc...
Yii2-app template can be installed using composer. Run following command to download and install Yii2-app:
composer create-project --prefer-dist akiraz2/yii2-app my-site
After installation run init
Install yii2-app using Docker:
- copy
.env-dist
to.env
, configure if needed - run command to create project
docker run --rm --interactive --tty \
--volume $PWD:/app \
--volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
composer create-project --prefer-dist akiraz2/yii2-app my-site
- copy
/mysql/docker-entrypoint-initdb.d/createdb.sql.example
tocreatedb.sql
, then edit this file (database, user) fromdocker-compose.yml
section db (MYSQL_USER: username, MYSQL_PASSWORD: password, MYSQL_DATABASE: dbname) docker-compose build
docker-compose up -d
docker-compose exec php bash
, in terminal runphp init
, then run other migrations (see next)- open localhost:8100 to test
NOTE: Make sure that you have properly configured
db
application component and run the following command
php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
php yii migrate --migrationPath=@yii/log/migrations/
php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-queuemanager/migrations/
php yii migrate/up
For newbies, I will recommend to read these instructions yiisoft/yii2-app-advanced/start-installation.md (apache, nginx, etc\hosts
Change in common/config/main.php
'language' => 'ru-RU',
'sourceLanguage' => 'en-US',
Add your language in common/messages/config.php
'languages' => [
'ru-RU',
],
In shell
php yii message/extract common/messages/config.php
POSTCSS
NOTE: Dont forget install nodejs :) and run command
npm install
if you want use post locally
Add WebStorm file-watcher, postcss.config.js is ready for use
- scope file[my-site]:frontend/web/src/pcss//*.css
- program C:\Users\user4957\AppData\Roaming\npm\postcss.cmd
- arguments
$ContentRoot$ \frontend\web\css\style.css --config$ContentRoot$ \post.config.js
If you have any questions or problems with Yii2-App you can ask them directly
by using following email address: akiraz@bk.ru
.
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome. +PSR-2 style coding.
I can apply patch, PR in 2-3 days! If not, please write me akiraz@bk.ru
Yii2-App is released under the BSD License. See the bundled LICENSE.md for details.