dev-master
9999999-devThe Content module for Yii framework.
BSD-3-Clause
The Requires
by Alican Akkus
yii2 yii 2 todo
The Content module for Yii framework.
Kullanıcı uygulamayı kurup kullanabilmesi için aşağıdaki adımlalrı yapması gerekmektedir;, (*1)
Not : Kurulum yapılacak olan bilgisayar üzerinde xampp kurulu olması gerekmekedir. Base directory olarak Xampp'in C:\ dizini altında oldugu varsayılmıştır.
Migrate oluşturmak için; ``` php ${baseDirectory}\htdocs\advanced\console\migrations yii migrate, (*2)
Migrate configürasyonu için;
return [ 'controllerMap' => [ 'migrate' => [ 'class' => 'yii\console\controllers\MigrateController', 'migrationTable' => 'backend_migration', ], ], ];
2. Rbac Kullanıcı erişim kuralları ve configürasyonu için configürasyonuna şunların yazılması gerekmektedir;
Base directory içerisinde apache server dosyalarının buludundu kısımda main-local.php(dev ortamı) bulunur., (*3)
${baseDirectory}\htdocs\advanced\common\config\main-local.php
<?php return [ .... .... 'authManager' => [ 'class' => 'yii\rbac\DbManager', ], .... .... ];
Daha sonra Rbac için bir kontroller oluşturulur. İlk önce rbac'i initialize etmek gerekmektedir; RbacController
${baseDirectory}\htdocs\advanced\console\controllers yii rbac/init
Yaratıcı olan kullanıcılar için rule tanımı; AuthorRule
${baseDirectory}\htdocs\advanced\common new folder "rbac" yii rbac/author-rule
Kullanıcı, author'lar için migrate tabloları;
yii migrate --migrationPath=@yii/rbac/migrations yii rbac/init yii rbac/author-rule, (*4)
3. Configuring ${baseDirectory}\htdocs\advanced\composer.json Uygulamanın git uzantısı buraya eklenmelidir; ######alicanakkus/yii_todolist":"dev-master"
"require": { "php": ">=5.4.0", "yiisoft/yii2": ">=2.0.6", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-swiftmailer": "*", "alicanakkus/yii_todolist":"dev-master" },
${baseDirectory}\htdocs\advanced\backend\config\main-local.php
$config = [ 'modules' => [ 'blog' => [ 'class' => 'alicanakkus\yii_todolist\Module', ], ],
4. Setup ${baseDirectory}\htdocs\advanced Composer cache temizlenebilir her ihtimale karşı. Composer update ile birlikte require olarak belirtilen git uzantısındaki uygulama composer ile yüklenecektir.
composer clear-cache commposer update
5. Restful API ${baseDirectory}\htdocs\advanced\backend\config\main-local.php
$config = [ 'modules' => [ 'blog' => [ 'class' => 'alicanakkus\yii_todolist\Module', ], ], 'components' => [ 'request' => [ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => 'a20IHwCqs8sw3h1TwFMhGvfwI_jLmbzO', 'class' => 'common\components\AppRequest', 'parsers' => [ 'application\json' => 'yii\web\JsonParser', ], 'web' => '/backend/web', 'aliasUrl' =>'/admin', ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ [ 'class' => 'yii\rest\UrlRule', 'controller' => 'restful', 'tokens' => [ '{id}' => '<id:\\w+' ] ] ], ], ],
];, (*5)
${baseDirectory}\htdocs\advanced\frontend\config\main-local.php
'components' => [ 'request' => [ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => 'bcsHZoIMxZ8Rkbpmt0SFvmZvDCQCK26d', 'class' => 'common\components\AppRequest', 'web' => '/frontend/web', ], 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, ], ],
Apache servisinde alias kullanmak için "advanced.com" adresine gelen istekleri, 127.0.0.1 local ip adresine yönlendirme yapmamız gerekir. Windows ortamında dizin 'C:\Windows\System32\drivers\etc\hosts', linux/unix ortamında ise 'etc/hosts' kısmıdır. Hosts olarak şu girilmelidir;
127.0.0.1 advanced.com, (*6)
${baseDirectory}\apache\conf\extra\httpd-vhosts.conf Gelen advanced.com istekleri 80 HTTP portuna aktarılır.
NameVirtualHost *:80, (*7)
${baseDirectory}\htdocs\advanced\ ######.htaccess
Options +FollowSymlinks RewriteEngine On, (*9)
RewriteCond %{REQUEST_URI} ^/(admin) RewriteRule ^admin/assets/(.)$ backend/web/assets/$1 [L] RewriteRule ^admin/css/(.)$ backend/web/css/$1 [L], (*10)
RewriteCond %{REQUEST_URI} !^/backend/web/(assets|css)/ RewriteCond %{REQUEST_URI} ^/(admin) RewriteRule ^.*$ backend/web/index.php [L], (*11)
RewriteCond %{REQUEST_URI} ^/(assets|css) RewriteRule ^assets/(.)$ frontend/web/assets/$1 [L] RewriteRule ^css/(.)$ frontend/web/css/$1 [L], (*12)
RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css)/ RewriteCond %{REQUEST_URI} !index.php RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^.*$ frontend/web/index.php, (*13)
RewriteCond %{REQUEST_URI} ^/(api) RewriteRule ^api/assets/(.)$ api/web/assets/$1 [L] RewriteRule ^api/css/(.)$ api/web/css/$1 [L], (*14)
RewriteCond %{REQUEST_URI} !^/api/web/(assets|css)/ RewriteCond %{REQUEST_URI} ^/(api) RewriteRule ^.*$ api/web/index.php [L], (*15)
Uygulamanın main app request için şunu yazmamız gerekmekte; \todo\components\AppRequest.php
<?php, (*16)
namespace common\components;, (*17)
use Yii; use yii\web\Request;, (*18)
class AppRequest extends Request { public $web; public $aliasUrl;, (*19)
public function getBaseUrl(){ return str_replace($this->web, "", parent::getBaseUrl()) . $this->aliasUrl; }
} ```, (*20)
Tüm bunlar tamamlandığıda tarayıcıda şunu girmek gerekir;, (*21)
http://advanced.com/admin/todo/todo/index
Örnek ekran görüntüler;, (*22)
Todo Listesi; , (*23)
Todo Görüntüleme; , (*24)
About; , (*25)
The Content module for Yii framework.
BSD-3-Clause
yii2 yii 2 todo