From ce4d7450be1a16f2c2549ede011526ecd30068e6 Mon Sep 17 00:00:00 2001 From: Alexander Makarov Date: Thu, 28 Nov 2013 15:53:17 +0400 Subject: [PATCH] Docs on autoloading and helpers --- docs/guide/basics.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/docs/guide/basics.md b/docs/guide/basics.md index 914797c..2fa8f59 100644 --- a/docs/guide/basics.md +++ b/docs/guide/basics.md @@ -78,9 +78,43 @@ directory and Yii will be able to autoload any class in this library. Autoloading ----------- -TBD +All classes, interfaces and traits are loaded automatically at the moment they are used. There's no need to use +`include` or `require`. It is, as well, true for Composer-loaded packages and Yii extensions. + +Autoloader works according to [PSR-0](). That means namespaces and class, interface and trait +names should correspond to file system paths except root namespace path that is defined by an alias. + +For example, if standard alias `@app` refers to `/var/www/example.com/` then `\app\models\User` will be loaded from +`/var/www/example.com/app/models/User.php`. + +Custom alias may be added using the following code: + +```php +Yii::setAlias('shared', realpath('~/src/shared')); +``` + +Additional autoloaders may be registered using standard PHP `spl_autoload_register`. Helper classes -------------- -TDB \ No newline at end of file +Helper class typically contains static methods only and used as follows: + +```php +use \yii\helpers\Html; +echo Html::encode('Test > test'); +``` + +There are several classes provided by framework: + +- ArrayHelper +- Console +- FileHelper +- Html +- HtmlPurifier +- Inflector +- Json +- Markdown +- Security +- StringHelper +- VarDumper \ No newline at end of file