mirror of
https://github.com/yiisoft/app.git
synced 2026-03-15 04:26:50 +01:00
94dea307d7502338d946e24eec7233845bd589d4
Yii application template
Yii application template for Yii 3 is best for rapidly creating projects.
Directory structure
config/ contains application configurations
resources/layout contains layout files for the web application
resources/view contains view files for the web application
app/ application directory
Asset/ contains assets definition
Controller/ contains Web controller classes
Factory/ contains factory classes files for config
Provider/ contains provider classes for config
runtime/ contains files generated during runtime
tests/ contains various tests for the basic application
vendor/ contains dependent 3rd-party packages
public/ contains the entry script and Web resources
Requirements
The minimum requirement by this project template that your Web server supports PHP 7.4.0.
Installation
If you do not have Composer, you may install it by following the instructions at getcomposer.org.
You can then install this project template using the following command:
composer create-project --prefer-dist --stability dev yiisoft/app <your project>
Now you should be able to access the application through the following URL, assuming app is the directory
directly under the public root.
Web application config
config/params.php:
Yiisoft Application Components
Aliases
'aliases' => [
// standard directory aliases
'@root' => dirname(__DIR__),
'@assets' => '@root/public/assets',
'@assetsUrl' => '/assets',
'@npm' => '@root/node_modules',
'@public' => '@root/public',
'@resources' => '@root/resources',
'@runtime' => '@root/runtime',
'@views' => '@root/resources/views'
],
Cache
'yiisoft/cache-file' => [
'file-cache' => [
// cache directory path
'path' => '@runtime/cache'
],
],
Log Target File
use Psr\Log\LogLevel;
'yiisoft/log-target-file' => [
'file-target' => [
// route directory file log
'file' => '@runtime/logs/app.log',
// levels logs target
'levels' => [
LogLevel::EMERGENCY,
LogLevel::ERROR,
LogLevel::WARNING,
LogLevel::INFO,
LogLevel::DEBUG,
],
],
'file-rotator' => [
// maximum file size, in kilo-bytes. Defaults to 10240, meaning 10MB.
'maxfilesize' => 10,
// number of files used for rotation. Defaults to 5.
'maxfiles' => 5,
// the permission to be set for newly created files.
'filemode' => null,
// Whether to rotate files by copy and truncate in contrast to rotation by renaming files.
'rotatebycopy' => null
],
],
Session
'yiisoft/yii-web' => [
'session' => [
// options for cookies
'options' => ['cookie_secure' => 0],
// session handler
'handler' => null
],
],
Yii Debug
'yiisoft/yii-debug' => [
// enabled/disabled debugger
'enabled' => true
],
Application Layout Parameters
'app' => [
'brandurl' => '/',
'charset' => 'UTF-8',
'hero.options' => ['class' => 'hero is-fullheight is-light'],
'hero.head.options' => ['class' => 'hero-head has-background-black'],
'hero.body.options' => ['class' => 'hero-body is-light'],
'hero.container.options' => ['class' => 'container has-text-centered'],
'hero.footer.options' => ['class' => 'hero-footer has-background-black'],
'hero.footer.column.options' => ['class' => 'columns is-mobile'],
'hero.footer.column.left' => 'Left',
'hero.footer.column.left.options' => ['class' => 'column has-text-left has-text-light'],
'hero.footer.column.center' => 'Center',
'hero.footer.column.center.options' => ['class' => 'column has-text-centered has-text-light'],
'hero.footer.column.right' => 'Right',
'hero.footer.column.right.options' => ['class' => 'column has-text-right has-text-light'],
'language' => 'en',
'logo' => '/images/yii-logo.jpg',
'name' => 'My Project',
'navbar.options' => ['class' => 'navbar'],
'navbar.brand.options' => ['class' => 'navbar-brand'],
'navbar.brand.logo.options' => ['class' => 'navbar-item'],
'navbar.brand.title.options' => ['class' => 'navbar-item has-text-light'],
],
Using PHP built-in server
php -S 127.0.0.1:8080 -t public
Wait till it is up, then open the following URL in your browser
http://localhost:8080
Running Codeception tests
php -S 127.0.0.1:8080 -t public > ./runtime/yii.log 2>&1 &
vendor/bin/codecept run
Description
Languages
PHP
85.4%
Makefile
9%
Dockerfile
2.8%
CSS
2.5%
Batchfile
0.3%



