mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-18 23:43:19 +08:00
Merge branch 'master' of github.com:yiisoft/yii2
This commit is contained in:
@@ -13,8 +13,9 @@ defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
|
||||
|
||||
require(__DIR__ . '/../framework/yii/Yii.php');
|
||||
|
||||
$id = 'yii-build';
|
||||
$basePath = __DIR__;
|
||||
|
||||
$application = new yii\console\Application(array('id' => $id, 'basePath' => $basePath));
|
||||
$application = new yii\console\Application(array(
|
||||
'id' => 'yii-build',
|
||||
'basePath' => __DIR__,
|
||||
'controllerNamespace' => 'yii\build\controllers',
|
||||
));
|
||||
$application->run();
|
||||
|
||||
89
build/controllers/ClassmapController.php
Normal file
89
build/controllers/ClassmapController.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright Copyright (c) 2008 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
namespace yii\build\controllers;
|
||||
|
||||
use yii\console\Controller;
|
||||
use yii\helpers\FileHelper;
|
||||
|
||||
/**
|
||||
* @author Qiang Xue <qiang.xue@gmail.com>
|
||||
* @since 2.0
|
||||
*/
|
||||
class ClassmapController extends Controller
|
||||
{
|
||||
public $defaultAction = 'create';
|
||||
|
||||
/**
|
||||
* Creates a class map for the core Yii classes.
|
||||
* @param string $root the root path of Yii framework. Defaults to YII_PATH.
|
||||
* @param string $mapFile the file to contain the class map. Defaults to YII_PATH . '/classes.php'.
|
||||
*/
|
||||
public function actionCreate($root = null, $mapFile = null)
|
||||
{
|
||||
if ($root === null) {
|
||||
$root = YII_PATH;
|
||||
}
|
||||
$root = FileHelper::normalizePath($root);
|
||||
if ($mapFile === null) {
|
||||
$mapFile = YII_PATH . '/classes.php';
|
||||
}
|
||||
$options = array(
|
||||
'filter' => function($path) {
|
||||
if (is_file($path)) {
|
||||
$file = basename($path);
|
||||
if ($file[0] < 'A' || $file[0] > 'Z') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
'only' => array('.php'),
|
||||
'except' => array(
|
||||
'Yii.php',
|
||||
'YiiBase.php',
|
||||
'/debug/',
|
||||
'/console/',
|
||||
'/test/',
|
||||
),
|
||||
);
|
||||
$files = FileHelper::findFiles($root, $options);
|
||||
$map = array();
|
||||
foreach ($files as $file) {
|
||||
if (($pos = strpos($file, $root)) !== 0) {
|
||||
die("Something wrong: $file");
|
||||
}
|
||||
$path = str_replace('\\', '/', substr($file, strlen($root)));
|
||||
$map[] = "\t'yii" . substr(str_replace('/', '\\', $path), 0, -4) . "' => YII_PATH . '$path',";
|
||||
}
|
||||
$map = implode("\n", $map);
|
||||
$output = <<<EOD
|
||||
<?php
|
||||
/**
|
||||
* Yii core class map.
|
||||
*
|
||||
* This file is automatically generated by the "build classmap" command under the "build" folder.
|
||||
* Do not modify it directly.
|
||||
*
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright Copyright (c) 2008 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
return array(
|
||||
$map
|
||||
);
|
||||
|
||||
EOD;
|
||||
if (is_file($mapFile) && file_get_contents($mapFile) === $output) {
|
||||
echo "Nothing changed.";
|
||||
} else {
|
||||
file_put_contents($mapFile, $output);
|
||||
echo "Class map saved in $mapFile";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,10 @@
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
namespace app\controllers;
|
||||
namespace yii\build\controllers;
|
||||
|
||||
use yii\console\Exception;
|
||||
use yii\console\Controller;
|
||||
use yii\helpers\FileHelper;
|
||||
|
||||
/**
|
||||
* http://www.unicode.org/cldr/charts/supplemental/language_plural_rules.html
|
||||
|
||||
32
extensions/composer/LICENSE.md
Normal file
32
extensions/composer/LICENSE.md
Normal file
@@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of
|
||||
the following BSD License.
|
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Yii Software LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
45
extensions/composer/README.md
Normal file
45
extensions/composer/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
Yii 2.0 Public Preview - Composer Installer
|
||||
======================
|
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework.
|
||||
|
||||
If you are looking for a production-ready PHP framework, please use
|
||||
[Yii v1.1](https://github.com/yiisoft/yii).
|
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes
|
||||
without prior notices. **Yii 2.0 is not ready for production use yet.**
|
||||
|
||||
[](http://travis-ci.org/yiisoft/yii2)
|
||||
|
||||
This is the yii2 composer installer.
|
||||
|
||||
Installation
|
||||
----------------
|
||||
|
||||
This extension offers you enhanced composer handling for your yii2-project. It will therefor require you to use composer.
|
||||
|
||||
`
|
||||
php composer.phar require yiisoft/yii2-composer *
|
||||
`
|
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate` before using this extension.*
|
||||
|
||||
|
||||
Usage & Documentation
|
||||
-----------
|
||||
This extensions allows you to hook to certain composer events and prepare your yii2-app for usage.
|
||||
|
||||
After the package is installed, the composer.json file has to be modified to enable this extension.
|
||||
|
||||
To see it in action take a look at the example apps in the repository:
|
||||
|
||||
[Basic](https://github.com/suralc/yii2/blob/master/apps/basic/composer.json#L27)
|
||||
[Advanced](https://github.com/suralc/yii2/blob/extensions-readme/apps/advanced/composer.json)
|
||||
|
||||
However it might be useful to read through the official composer [documentation](http://getcomposer.org/doc/articles/scripts.md) to understand what this extension can to for you and what it can't.
|
||||
|
||||
You can also use this as an template to create your own composer additions to ease development and deployment of your app.
|
||||
|
||||
|
||||
|
||||
|
||||
32
extensions/jui/LICENSE.md
Normal file
32
extensions/jui/LICENSE.md
Normal file
@@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of
|
||||
the following BSD License.
|
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Yii Software LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
55
extensions/jui/README.md
Normal file
55
extensions/jui/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
Yii 2.0 Public Preview - JUI Extension
|
||||
======================
|
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework.
|
||||
|
||||
If you are looking for a production-ready PHP framework, please use
|
||||
[Yii v1.1](https://github.com/yiisoft/yii).
|
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes
|
||||
without prior notices. **Yii 2.0 is not ready for production use yet.**
|
||||
|
||||
[](http://travis-ci.org/yiisoft/yii2)
|
||||
|
||||
This is the yii2-jui extension.
|
||||
|
||||
Installation
|
||||
----------------
|
||||
The preferred way to install this extension is [composer](http://getcomposer.org/download/).
|
||||
|
||||
Either run
|
||||
```
|
||||
php composer.phar require yiisoft/yii2-jui*
|
||||
```
|
||||
|
||||
or add
|
||||
```
|
||||
"yiisoft/yii2-jui": "*"
|
||||
```
|
||||
to the require section of your composer.json.
|
||||
|
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate`*
|
||||
|
||||
|
||||
Usage & Documentation
|
||||
-----------
|
||||
|
||||
This extension provides multiple widgets to work with jquery.ui, as well as a set of compatible jquery.ui files.
|
||||
|
||||
You can use these widgets in your view files after you have registered the corresponding assets.
|
||||
|
||||
Example:
|
||||
-----------
|
||||
```php
|
||||
echo ProgressBar::widget(array(
|
||||
'clientOptions' => array(
|
||||
'value' => 75,
|
||||
),
|
||||
));
|
||||
|
||||
For further instructions refer to the guide (once it is finished)
|
||||
|
||||
|
||||
|
||||
|
||||
32
extensions/mutex/LICENSE.md
Normal file
32
extensions/mutex/LICENSE.md
Normal file
@@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of
|
||||
the following BSD License.
|
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Yii Software LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
44
extensions/mutex/README.md
Normal file
44
extensions/mutex/README.md
Normal file
@@ -0,0 +1,44 @@
|
||||
Yii 2.0 Public Preview - Mutex Extension
|
||||
======================
|
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework.
|
||||
|
||||
If you are looking for a production-ready PHP framework, please use
|
||||
[Yii v1.1](https://github.com/yiisoft/yii).
|
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes
|
||||
without prior notices. **Yii 2.0 is not ready for production use yet.**
|
||||
|
||||
[](http://travis-ci.org/yiisoft/yii2)
|
||||
|
||||
This is the yii2-mutex extension.
|
||||
|
||||
Installation
|
||||
----------------
|
||||
The prefered way to install this extension is through [composer](http://getcomposer.org/download/).
|
||||
|
||||
Either run
|
||||
```
|
||||
php composer.phar require yiisoft/yii2-mutex *
|
||||
```
|
||||
|
||||
or add
|
||||
```
|
||||
"yiisoft/yii2-mutex": "*"
|
||||
```
|
||||
to the require section of your composer.json.
|
||||
|
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate`*
|
||||
|
||||
|
||||
Usage & Documentation
|
||||
-----------
|
||||
|
||||
This component can be used to perform actions similar to the concept of [mutual exclusion](http://en.wikipedia.org/wiki/Mutual_exclusion).
|
||||
|
||||
For concrete examples and advanced usage refer to the guide.
|
||||
|
||||
|
||||
|
||||
|
||||
32
extensions/smarty/LICENSE.md
Normal file
32
extensions/smarty/LICENSE.md
Normal file
@@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of
|
||||
the following BSD License.
|
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Yii Software LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
65
extensions/smarty/README.md
Normal file
65
extensions/smarty/README.md
Normal file
@@ -0,0 +1,65 @@
|
||||
Yii 2.0 Public Preview - Smarty View Renderer
|
||||
======================
|
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework.
|
||||
|
||||
If you are looking for a production-ready PHP framework, please use
|
||||
[Yii v1.1](https://github.com/yiisoft/yii).
|
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes
|
||||
without prior notices. **Yii 2.0 is not ready for production use yet.**
|
||||
|
||||
[](http://travis-ci.org/yiisoft/yii2)
|
||||
|
||||
This is the yii2-smarty extension.
|
||||
|
||||
Installation
|
||||
----------------
|
||||
The prefered way to install this extension is through [composer](http://getcomposer.org/download/).
|
||||
|
||||
Either run
|
||||
```
|
||||
php composer.phar require yiisoft/yii2-smarty *
|
||||
```
|
||||
|
||||
or add
|
||||
```json
|
||||
"yiisoft/yii2-smarty": "*"
|
||||
```
|
||||
to the require section of your composer.json.
|
||||
|
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate`*
|
||||
|
||||
|
||||
Usage & Documentation
|
||||
-----------
|
||||
|
||||
This extension has to be registered prior to usage.
|
||||
To enable this view renderer add it to the $rendereres property of your view object.
|
||||
|
||||
Example:
|
||||
```php
|
||||
<?php
|
||||
// config.php
|
||||
return array(
|
||||
//....
|
||||
'components' => array(
|
||||
'view' => array(
|
||||
'class' => 'yii\base\View',
|
||||
'viewRenderers' => array(
|
||||
'tpl' => array(
|
||||
'class' => 'yii\smarty\ViewRenderer',
|
||||
//'cachePath' => '@runtime/Smarty/cache',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
```
|
||||
|
||||
For further instructions refer to the related section in the guide.
|
||||
|
||||
|
||||
|
||||
|
||||
32
extensions/twig/LICENSE.md
Normal file
32
extensions/twig/LICENSE.md
Normal file
@@ -0,0 +1,32 @@
|
||||
The Yii framework is free software. It is released under the terms of
|
||||
the following BSD License.
|
||||
|
||||
Copyright © 2008-2013 by Yii Software LLC (http://www.yiisoft.com)
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Yii Software LLC nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
64
extensions/twig/README.md
Normal file
64
extensions/twig/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
Yii 2.0 Public Preview - Twig View Renderer
|
||||
======================
|
||||
|
||||
Thank you for choosing Yii - a high-performance component-based PHP framework.
|
||||
|
||||
If you are looking for a production-ready PHP framework, please use
|
||||
[Yii v1.1](https://github.com/yiisoft/yii).
|
||||
|
||||
Yii 2.0 is still under heavy development. We may make significant changes
|
||||
without prior notices. **Yii 2.0 is not ready for production use yet.**
|
||||
|
||||
[](http://travis-ci.org/yiisoft/yii2)
|
||||
|
||||
This is the yii2-twig extension.
|
||||
|
||||
Installation
|
||||
----------------
|
||||
The prefered way to install this extension is through [composer](http://getcomposer.org/download/).
|
||||
|
||||
Either run
|
||||
```
|
||||
php composer.phar require yiisoft/yii2-twig *
|
||||
```
|
||||
|
||||
or add
|
||||
```
|
||||
"yiisoft/yii2-twig": "*"
|
||||
```
|
||||
to the require section of your composer.json.
|
||||
|
||||
|
||||
*Note: You might have to run `php composer.phar selfupdate`*
|
||||
|
||||
|
||||
Usage & Documentation
|
||||
-----------
|
||||
|
||||
This extension has to be registered prior to usage.
|
||||
To enable this view renderer add it to the $rendereres property of your view object.
|
||||
|
||||
Example:
|
||||
```php
|
||||
<?php
|
||||
// config.php
|
||||
return array(
|
||||
//....
|
||||
'components' => array(
|
||||
'view' => array(
|
||||
'class' => 'yii\base\View',
|
||||
'viewRenderers' => array(
|
||||
'twig' => array(
|
||||
'class' => 'yii\twig\ViewRenderer',
|
||||
//'cachePath' => '@runtime/Twig/cache',
|
||||
//'options' => array(), /* Array of twig options */
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
```
|
||||
|
||||
For further instructions refer to the related section in the guide.
|
||||
|
||||
|
||||
@@ -1,237 +1,220 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* This is a map of all classes included in Yii framework.
|
||||
* It is used to speed up autoloading.
|
||||
* Yii core class map.
|
||||
*
|
||||
* This file is automatically generated by the "build classmap" command under the "build" folder.
|
||||
* Do not modify it directly.
|
||||
*
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright Copyright (c) 2008 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
return array(
|
||||
'yii\YiiBase' => YII_PATH . '/YiiBase.php',
|
||||
'yii\debug\Module' => YII_PATH . '/debug/Module.php',
|
||||
'yii\debug\controllers\DefaultController' => YII_PATH . '/debug/controllers/DefaultController.php',
|
||||
'yii\debug\Toolbar' => YII_PATH . '/debug/Toolbar.php',
|
||||
'yii\web\PageCache' => YII_PATH . '/web/PageCache.php',
|
||||
'yii\web\CaptchaAction' => YII_PATH . '/web/CaptchaAction.php',
|
||||
'yii\web\HttpException' => YII_PATH . '/web/HttpException.php',
|
||||
'yii\web\Application' => YII_PATH . '/web/Application.php',
|
||||
'yii\web\CacheSession' => YII_PATH . '/web/CacheSession.php',
|
||||
'yii\web\UserEvent' => YII_PATH . '/web/UserEvent.php',
|
||||
'yii\web\VerbFilter' => YII_PATH . '/web/VerbFilter.php',
|
||||
'yii\web\JsExpression' => YII_PATH . '/web/JsExpression.php',
|
||||
'yii\web\CookieCollection' => YII_PATH . '/web/CookieCollection.php',
|
||||
'yii\web\ResponseFormatter' => YII_PATH . '/web/ResponseFormatter.php',
|
||||
'yii\web\AccessRule' => YII_PATH . '/web/AccessRule.php',
|
||||
'yii\web\AssetManager' => YII_PATH . '/web/AssetManager.php',
|
||||
'yii\web\Session' => YII_PATH . '/web/Session.php',
|
||||
'yii\web\AccessControl' => YII_PATH . '/web/AccessControl.php',
|
||||
'yii\web\DbSession' => YII_PATH . '/web/DbSession.php',
|
||||
'yii\web\IAssetConverter' => YII_PATH . '/web/IAssetConverter.php',
|
||||
'yii\web\Identity' => YII_PATH . '/web/Identity.php',
|
||||
'yii\web\Controller' => YII_PATH . '/web/Controller.php',
|
||||
'yii\web\User' => YII_PATH . '/web/User.php',
|
||||
'yii\web\HttpCache' => YII_PATH . '/web/HttpCache.php',
|
||||
'yii\web\UrlManager' => YII_PATH . '/web/UrlManager.php',
|
||||
'yii\web\Request' => YII_PATH . '/web/Request.php',
|
||||
'yii\web\Cookie' => YII_PATH . '/web/Cookie.php',
|
||||
'yii\web\UploadedFile' => YII_PATH . '/web/UploadedFile.php',
|
||||
'yii\web\ResponseEvent' => YII_PATH . '/web/ResponseEvent.php',
|
||||
'yii\web\UrlRule' => YII_PATH . '/web/UrlRule.php',
|
||||
'yii\web\XmlResponseFormatter' => YII_PATH . '/web/XmlResponseFormatter.php',
|
||||
'yii\web\Response' => YII_PATH . '/web/Response.php',
|
||||
'yii\web\SessionIterator' => YII_PATH . '/web/SessionIterator.php',
|
||||
'yii\web\AssetBundle' => YII_PATH . '/web/AssetBundle.php',
|
||||
'yii\web\AssetConverter' => YII_PATH . '/web/AssetConverter.php',
|
||||
'yii\web\HeaderCollection' => YII_PATH . '/web/HeaderCollection.php',
|
||||
'yii\log\Target' => YII_PATH . '/log/Target.php',
|
||||
'yii\log\DebugTarget' => YII_PATH . '/log/DebugTarget.php',
|
||||
'yii\log\Logger' => YII_PATH . '/log/Logger.php',
|
||||
'yii\log\EmailTarget' => YII_PATH . '/log/EmailTarget.php',
|
||||
'yii\log\DbTarget' => YII_PATH . '/log/DbTarget.php',
|
||||
'yii\log\FileTarget' => YII_PATH . '/log/FileTarget.php',
|
||||
'yii\widgets\ActiveField' => YII_PATH . '/widgets/ActiveField.php',
|
||||
'yii\widgets\Captcha' => YII_PATH . '/widgets/Captcha.php',
|
||||
'yii\widgets\ListPager' => YII_PATH . '/widgets/ListPager.php',
|
||||
'yii\widgets\LinkPager' => YII_PATH . '/widgets/LinkPager.php',
|
||||
'yii\widgets\MaskedInput' => YII_PATH . '/widgets/MaskedInput.php',
|
||||
'yii\widgets\InputWidget' => YII_PATH . '/widgets/InputWidget.php',
|
||||
'yii\widgets\ActiveForm' => YII_PATH . '/widgets/ActiveForm.php',
|
||||
'yii\widgets\ContentDecorator' => YII_PATH . '/widgets/ContentDecorator.php',
|
||||
'yii\widgets\Breadcrumbs' => YII_PATH . '/widgets/Breadcrumbs.php',
|
||||
'yii\widgets\Block' => YII_PATH . '/widgets/Block.php',
|
||||
'yii\widgets\FragmentCache' => YII_PATH . '/widgets/FragmentCache.php',
|
||||
'yii\widgets\Menu' => YII_PATH . '/widgets/Menu.php',
|
||||
'yii\rbac\PhpManager' => YII_PATH . '/rbac/PhpManager.php',
|
||||
'yii\rbac\Item' => YII_PATH . '/rbac/Item.php',
|
||||
'yii\rbac\Manager' => YII_PATH . '/rbac/Manager.php',
|
||||
'yii\rbac\Assignment' => YII_PATH . '/rbac/Assignment.php',
|
||||
'yii\rbac\DbManager' => YII_PATH . '/rbac/DbManager.php',
|
||||
'yii\behaviors\AutoTimestamp' => YII_PATH . '/behaviors/AutoTimestamp.php',
|
||||
'yii\caching\Cache' => YII_PATH . '/caching/Cache.php',
|
||||
'yii\caching\XCache' => YII_PATH . '/caching/XCache.php',
|
||||
'yii\caching\DbDependency' => YII_PATH . '/caching/DbDependency.php',
|
||||
'yii\caching\DbCache' => YII_PATH . '/caching/DbCache.php',
|
||||
'yii\caching\Dependency' => YII_PATH . '/caching/Dependency.php',
|
||||
'yii\caching\ApcCache' => YII_PATH . '/caching/ApcCache.php',
|
||||
'yii\caching\MemCacheServer' => YII_PATH . '/caching/MemCacheServer.php',
|
||||
'yii\caching\ZendDataCache' => YII_PATH . '/caching/ZendDataCache.php',
|
||||
'yii\caching\MemCache' => YII_PATH . '/caching/MemCache.php',
|
||||
'yii\caching\GroupDependency' => YII_PATH . '/caching/GroupDependency.php',
|
||||
'yii\caching\ChainedDependency' => YII_PATH . '/caching/ChainedDependency.php',
|
||||
'yii\caching\WinCache' => YII_PATH . '/caching/WinCache.php',
|
||||
'yii\caching\FileCache' => YII_PATH . '/caching/FileCache.php',
|
||||
'yii\caching\FileDependency' => YII_PATH . '/caching/FileDependency.php',
|
||||
'yii\caching\ExpressionDependency' => YII_PATH . '/caching/ExpressionDependency.php',
|
||||
'yii\caching\DummyCache' => YII_PATH . '/caching/DummyCache.php',
|
||||
'yii\i18n\Formatter' => YII_PATH . '/i18n/Formatter.php',
|
||||
'yii\i18n\GettextFile' => YII_PATH . '/i18n/GettextFile.php',
|
||||
'yii\i18n\I18N' => YII_PATH . '/i18n/I18N.php',
|
||||
'yii\i18n\PhpMessageSource' => YII_PATH . '/i18n/PhpMessageSource.php',
|
||||
'yii\i18n\GettextPoFile' => YII_PATH . '/i18n/GettextPoFile.php',
|
||||
'yii\i18n\data\plurals' => YII_PATH . '/i18n/data/plurals.php',
|
||||
'yii\i18n\DbMessageSource' => YII_PATH . '/i18n/DbMessageSource.php',
|
||||
'yii\i18n\GettextMessageSource' => YII_PATH . '/i18n/GettextMessageSource.php',
|
||||
'yii\i18n\MessageSource' => YII_PATH . '/i18n/MessageSource.php',
|
||||
'yii\i18n\MissingTranslationEvent' => YII_PATH . '/i18n/MissingTranslationEvent.php',
|
||||
'yii\i18n\GettextMoFile' => YII_PATH . '/i18n/GettextMoFile.php',
|
||||
'yii\data\Pagination' => YII_PATH . '/data/Pagination.php',
|
||||
'yii\data\Sort' => YII_PATH . '/data/Sort.php',
|
||||
'yii\validators\RequiredValidator' => YII_PATH . '/validators/RequiredValidator.php',
|
||||
'yii\validators\NumberValidator' => YII_PATH . '/validators/NumberValidator.php',
|
||||
'yii\validators\BooleanValidator' => YII_PATH . '/validators/BooleanValidator.php',
|
||||
'yii\validators\UniqueValidator' => YII_PATH . '/validators/UniqueValidator.php',
|
||||
'yii\validators\StringValidator' => YII_PATH . '/validators/StringValidator.php',
|
||||
'yii\validators\UrlValidator' => YII_PATH . '/validators/UrlValidator.php',
|
||||
'yii\validators\EmailValidator' => YII_PATH . '/validators/EmailValidator.php',
|
||||
'yii\validators\CaptchaValidator' => YII_PATH . '/validators/CaptchaValidator.php',
|
||||
'yii\validators\DefaultValueValidator' => YII_PATH . '/validators/DefaultValueValidator.php',
|
||||
'yii\validators\CompareValidator' => YII_PATH . '/validators/CompareValidator.php',
|
||||
'yii\validators\RangeValidator' => YII_PATH . '/validators/RangeValidator.php',
|
||||
'yii\validators\Validator' => YII_PATH . '/validators/Validator.php',
|
||||
'yii\validators\FilterValidator' => YII_PATH . '/validators/FilterValidator.php',
|
||||
'yii\validators\FileValidator' => YII_PATH . '/validators/FileValidator.php',
|
||||
'yii\validators\RegularExpressionValidator' => YII_PATH . '/validators/RegularExpressionValidator.php',
|
||||
'yii\validators\InlineValidator' => YII_PATH . '/validators/InlineValidator.php',
|
||||
'yii\validators\DateValidator' => YII_PATH . '/validators/DateValidator.php',
|
||||
'yii\validators\ExistValidator' => YII_PATH . '/validators/ExistValidator.php',
|
||||
'yii\base\Formatter' => YII_PATH . '/base/Formatter.php',
|
||||
'yii\base\UnknownMethodException' => YII_PATH . '/base/UnknownMethodException.php',
|
||||
'yii\base\Application' => YII_PATH . '/base/Application.php',
|
||||
'yii\base\ErrorException' => YII_PATH . '/base/ErrorException.php',
|
||||
'yii\base\ActionEvent' => YII_PATH . '/base/ActionEvent.php',
|
||||
'yii\base\UserException' => YII_PATH . '/base/UserException.php',
|
||||
'yii\base\Module' => YII_PATH . '/base/Module.php',
|
||||
'yii\base\ViewEvent' => YII_PATH . '/base/ViewEvent.php',
|
||||
'yii\base\Action' => YII_PATH . '/base/Action.php',
|
||||
'yii\base\ViewRenderer' => YII_PATH . '/base/ViewRenderer.php',
|
||||
'yii\base\ActionFilter' => YII_PATH . '/base/ActionFilter.php',
|
||||
'yii\base\Theme' => YII_PATH . '/base/Theme.php',
|
||||
'yii\base\Controller' => YII_PATH . '/base/Controller.php',
|
||||
'yii\base\View' => YII_PATH . '/base/View.php',
|
||||
'yii\base\UnknownClassException' => YII_PATH . '/base/UnknownClassException.php',
|
||||
'yii\base\ErrorHandler' => YII_PATH . '/base/ErrorHandler.php',
|
||||
'yii\base\Request' => YII_PATH . '/base/Request.php',
|
||||
'yii\base\Object' => YII_PATH . '/base/Object.php',
|
||||
'yii\base\Behavior' => YII_PATH . '/base/Behavior.php',
|
||||
'yii\base\Exception' => YII_PATH . '/base/Exception.php',
|
||||
'yii\base\Event' => YII_PATH . '/base/Event.php',
|
||||
'yii\base\ModelEvent' => YII_PATH . '/base/ModelEvent.php',
|
||||
'yii\base\InvalidConfigException' => YII_PATH . '/base/InvalidConfigException.php',
|
||||
'yii\base\Component' => YII_PATH . '/base/Component.php',
|
||||
'yii\base\Response' => YII_PATH . '/base/Response.php',
|
||||
'yii\base\InvalidParamException' => YII_PATH . '/base/InvalidParamException.php',
|
||||
'yii\base\Model' => YII_PATH . '/base/Model.php',
|
||||
'yii\base\UnknownPropertyException' => YII_PATH . '/base/UnknownPropertyException.php',
|
||||
'yii\base\Arrayable' => YII_PATH . '/base/Arrayable.php',
|
||||
'yii\base\InvalidRouteException' => YII_PATH . '/base/InvalidRouteException.php',
|
||||
'yii\base\InlineAction' => YII_PATH . '/base/InlineAction.php',
|
||||
'yii\base\NotSupportedException' => YII_PATH . '/base/NotSupportedException.php',
|
||||
'yii\base\Widget' => YII_PATH . '/base/Widget.php',
|
||||
'yii\base\InvalidCallException' => YII_PATH . '/base/InvalidCallException.php',
|
||||
'yii\helpers\VarDumper' => YII_PATH . '/helpers/VarDumper.php',
|
||||
'yii\helpers\FileHelper' => YII_PATH . '/helpers/FileHelper.php',
|
||||
'yii\helpers\Console' => YII_PATH . '/helpers/Console.php',
|
||||
'yii\helpers\HtmlPurifier' => YII_PATH . '/helpers/HtmlPurifier.php',
|
||||
'yii\helpers\SecurityHelper' => YII_PATH . '/helpers/SecurityHelper.php',
|
||||
'yii\helpers\Inflector' => YII_PATH . '/helpers/Inflector.php',
|
||||
'yii\helpers\Markdown' => YII_PATH . '/helpers/Markdown.php',
|
||||
'yii\helpers\Html' => YII_PATH . '/helpers/Html.php',
|
||||
'yii\helpers\base\VarDumper' => YII_PATH . '/helpers/base/VarDumper.php',
|
||||
'yii\helpers\base\FileHelper' => YII_PATH . '/helpers/base/FileHelper.php',
|
||||
'yii\helpers\base\Console' => YII_PATH . '/helpers/base/Console.php',
|
||||
'yii\helpers\base\HtmlPurifier' => YII_PATH . '/helpers/base/HtmlPurifier.php',
|
||||
'yii\helpers\base\SecurityHelper' => YII_PATH . '/helpers/base/SecurityHelper.php',
|
||||
'yii\helpers\base\Inflector' => YII_PATH . '/helpers/base/Inflector.php',
|
||||
'yii\helpers\base\Markdown' => YII_PATH . '/helpers/base/Markdown.php',
|
||||
'yii\helpers\base\Html' => YII_PATH . '/helpers/base/Html.php',
|
||||
'yii\helpers\base\StringHelper' => YII_PATH . '/helpers/base/StringHelper.php',
|
||||
'yii\helpers\base\Json' => YII_PATH . '/helpers/base/Json.php',
|
||||
'yii\helpers\base\ArrayHelper' => YII_PATH . '/helpers/base/ArrayHelper.php',
|
||||
'yii\helpers\StringHelper' => YII_PATH . '/helpers/StringHelper.php',
|
||||
'yii\helpers\Json' => YII_PATH . '/helpers/Json.php',
|
||||
'yii\helpers\ArrayHelper' => YII_PATH . '/helpers/ArrayHelper.php',
|
||||
'yii\bootstrap\Collapse' => YII_PATH . '/bootstrap/Collapse.php',
|
||||
'yii\bootstrap\Progress' => YII_PATH . '/bootstrap/Progress.php',
|
||||
'yii\bootstrap\Dropdown' => YII_PATH . '/bootstrap/Dropdown.php',
|
||||
'yii\bootstrap\Alert' => YII_PATH . '/bootstrap/Alert.php',
|
||||
'yii\bootstrap\Carousel' => YII_PATH . '/bootstrap/Carousel.php',
|
||||
'yii\bootstrap\NavBar' => YII_PATH . '/bootstrap/NavBar.php',
|
||||
'yii\bootstrap\Button' => YII_PATH . '/bootstrap/Button.php',
|
||||
'yii\bootstrap\Modal' => YII_PATH . '/bootstrap/Modal.php',
|
||||
'yii\bootstrap\TypeAhead' => YII_PATH . '/bootstrap/TypeAhead.php',
|
||||
'yii\bootstrap\ButtonDropdown' => YII_PATH . '/bootstrap/ButtonDropdown.php',
|
||||
'yii\bootstrap\ButtonGroup' => YII_PATH . '/bootstrap/ButtonGroup.php',
|
||||
'yii\bootstrap\Nav' => YII_PATH . '/bootstrap/Nav.php',
|
||||
'yii\bootstrap\Widget' => YII_PATH . '/bootstrap/Widget.php',
|
||||
'yii\bootstrap\Tabs' => YII_PATH . '/bootstrap/Tabs.php',
|
||||
'yii\jui\DatePicker' => YII_PATH . '/jui/DatePicker.php',
|
||||
'yii\jui\Accordion' => YII_PATH . '/jui/Accordion.php',
|
||||
'yii\jui\Spinner' => YII_PATH . '/jui/Spinner.php',
|
||||
'yii\jui\InputWidget' => YII_PATH . '/jui/InputWidget.php',
|
||||
'yii\jui\Droppable' => YII_PATH . '/jui/Droppable.php',
|
||||
'yii\jui\ProgressBar' => YII_PATH . '/jui/ProgressBar.php',
|
||||
'yii\jui\Draggable' => YII_PATH . '/jui/Draggable.php',
|
||||
'yii\jui\AutoComplete' => YII_PATH . '/jui/AutoComplete.php',
|
||||
'yii\jui\Dialog' => YII_PATH . '/jui/Dialog.php',
|
||||
'yii\jui\Selectable' => YII_PATH . '/jui/Selectable.php',
|
||||
'yii\jui\assets' => YII_PATH . '/jui/assets.php',
|
||||
'yii\jui\Widget' => YII_PATH . '/jui/Widget.php',
|
||||
'yii\jui\Sortable' => YII_PATH . '/jui/Sortable.php',
|
||||
'yii\jui\Menu' => YII_PATH . '/jui/Menu.php',
|
||||
'yii\jui\Resizable' => YII_PATH . '/jui/Resizable.php',
|
||||
'yii\jui\Tabs' => YII_PATH . '/jui/Tabs.php',
|
||||
'yii\console\Application' => YII_PATH . '/console/Application.php',
|
||||
'yii\console\Controller' => YII_PATH . '/console/Controller.php',
|
||||
'yii\console\Request' => YII_PATH . '/console/Request.php',
|
||||
'yii\console\Exception' => YII_PATH . '/console/Exception.php',
|
||||
'yii\console\controllers\AssetController' => YII_PATH . '/console/controllers/AssetController.php',
|
||||
'yii\console\controllers\MessageController' => YII_PATH . '/console/controllers/MessageController.php',
|
||||
'yii\console\controllers\MigrateController' => YII_PATH . '/console/controllers/MigrateController.php',
|
||||
'yii\console\controllers\HelpController' => YII_PATH . '/console/controllers/HelpController.php',
|
||||
'yii\console\controllers\CacheController' => YII_PATH . '/console/controllers/CacheController.php',
|
||||
'yii\console\Response' => YII_PATH . '/console/Response.php',
|
||||
'yii\db\StaleObjectException' => YII_PATH . '/db/StaleObjectException.php',
|
||||
'yii\db\Connection' => YII_PATH . '/db/Connection.php',
|
||||
'yii\db\Expression' => YII_PATH . '/db/Expression.php',
|
||||
'yii\db\TableSchema' => YII_PATH . '/db/TableSchema.php',
|
||||
'yii\db\Transaction' => YII_PATH . '/db/Transaction.php',
|
||||
'yii\db\QueryBuilder' => YII_PATH . '/db/QueryBuilder.php',
|
||||
'yii\db\Command' => YII_PATH . '/db/Command.php',
|
||||
'yii\db\Schema' => YII_PATH . '/db/Schema.php',
|
||||
'yii\db\ActiveRelation' => YII_PATH . '/db/ActiveRelation.php',
|
||||
'yii\db\pgsql\QueryBuilder' => YII_PATH . '/db/pgsql/QueryBuilder.php',
|
||||
'yii\db\pgsql\Schema' => YII_PATH . '/db/pgsql/Schema.php',
|
||||
'yii\db\Exception' => YII_PATH . '/db/Exception.php',
|
||||
'yii\db\sqlite\QueryBuilder' => YII_PATH . '/db/sqlite/QueryBuilder.php',
|
||||
'yii\db\sqlite\Schema' => YII_PATH . '/db/sqlite/Schema.php',
|
||||
'yii\db\ColumnSchema' => YII_PATH . '/db/ColumnSchema.php',
|
||||
'yii\db\mysql\QueryBuilder' => YII_PATH . '/db/mysql/QueryBuilder.php',
|
||||
'yii\db\mysql\Schema' => YII_PATH . '/db/mysql/Schema.php',
|
||||
'yii\db\DataReader' => YII_PATH . '/db/DataReader.php',
|
||||
'yii\db\ActiveQuery' => YII_PATH . '/db/ActiveQuery.php',
|
||||
'yii\db\mssql\PDO' => YII_PATH . '/db/mssql/PDO.php',
|
||||
'yii\db\mssql\QueryBuilder' => YII_PATH . '/db/mssql/QueryBuilder.php',
|
||||
'yii\db\mssql\Schema' => YII_PATH . '/db/mssql/Schema.php',
|
||||
'yii\db\mssql\SqlsrvPDO' => YII_PATH . '/db/mssql/SqlsrvPDO.php',
|
||||
'yii\db\Migration' => YII_PATH . '/db/Migration.php',
|
||||
'yii\db\Query' => YII_PATH . '/db/Query.php',
|
||||
'yii\db\ActiveRecord' => YII_PATH . '/db/ActiveRecord.php',
|
||||
'yii\base\Action' => YII_PATH . '/base/Action.php',
|
||||
'yii\base\ActionEvent' => YII_PATH . '/base/ActionEvent.php',
|
||||
'yii\base\ActionFilter' => YII_PATH . '/base/ActionFilter.php',
|
||||
'yii\base\Application' => YII_PATH . '/base/Application.php',
|
||||
'yii\base\Arrayable' => YII_PATH . '/base/Arrayable.php',
|
||||
'yii\base\Behavior' => YII_PATH . '/base/Behavior.php',
|
||||
'yii\base\Component' => YII_PATH . '/base/Component.php',
|
||||
'yii\base\Controller' => YII_PATH . '/base/Controller.php',
|
||||
'yii\base\ErrorException' => YII_PATH . '/base/ErrorException.php',
|
||||
'yii\base\ErrorHandler' => YII_PATH . '/base/ErrorHandler.php',
|
||||
'yii\base\Event' => YII_PATH . '/base/Event.php',
|
||||
'yii\base\Exception' => YII_PATH . '/base/Exception.php',
|
||||
'yii\base\Formatter' => YII_PATH . '/base/Formatter.php',
|
||||
'yii\base\InlineAction' => YII_PATH . '/base/InlineAction.php',
|
||||
'yii\base\InvalidCallException' => YII_PATH . '/base/InvalidCallException.php',
|
||||
'yii\base\InvalidConfigException' => YII_PATH . '/base/InvalidConfigException.php',
|
||||
'yii\base\InvalidParamException' => YII_PATH . '/base/InvalidParamException.php',
|
||||
'yii\base\InvalidRouteException' => YII_PATH . '/base/InvalidRouteException.php',
|
||||
'yii\base\Model' => YII_PATH . '/base/Model.php',
|
||||
'yii\base\ModelEvent' => YII_PATH . '/base/ModelEvent.php',
|
||||
'yii\base\Module' => YII_PATH . '/base/Module.php',
|
||||
'yii\base\NotSupportedException' => YII_PATH . '/base/NotSupportedException.php',
|
||||
'yii\base\Object' => YII_PATH . '/base/Object.php',
|
||||
'yii\base\Request' => YII_PATH . '/base/Request.php',
|
||||
'yii\base\Response' => YII_PATH . '/base/Response.php',
|
||||
'yii\base\Theme' => YII_PATH . '/base/Theme.php',
|
||||
'yii\base\UnknownClassException' => YII_PATH . '/base/UnknownClassException.php',
|
||||
'yii\base\UnknownMethodException' => YII_PATH . '/base/UnknownMethodException.php',
|
||||
'yii\base\UnknownPropertyException' => YII_PATH . '/base/UnknownPropertyException.php',
|
||||
'yii\base\UserException' => YII_PATH . '/base/UserException.php',
|
||||
'yii\base\View' => YII_PATH . '/base/View.php',
|
||||
'yii\base\ViewEvent' => YII_PATH . '/base/ViewEvent.php',
|
||||
'yii\base\ViewRenderer' => YII_PATH . '/base/ViewRenderer.php',
|
||||
'yii\base\Widget' => YII_PATH . '/base/Widget.php',
|
||||
'yii\behaviors\AutoTimestamp' => YII_PATH . '/behaviors/AutoTimestamp.php',
|
||||
'yii\bootstrap\Alert' => YII_PATH . '/bootstrap/Alert.php',
|
||||
'yii\bootstrap\Button' => YII_PATH . '/bootstrap/Button.php',
|
||||
'yii\bootstrap\ButtonDropdown' => YII_PATH . '/bootstrap/ButtonDropdown.php',
|
||||
'yii\bootstrap\ButtonGroup' => YII_PATH . '/bootstrap/ButtonGroup.php',
|
||||
'yii\bootstrap\Carousel' => YII_PATH . '/bootstrap/Carousel.php',
|
||||
'yii\bootstrap\Collapse' => YII_PATH . '/bootstrap/Collapse.php',
|
||||
'yii\bootstrap\Dropdown' => YII_PATH . '/bootstrap/Dropdown.php',
|
||||
'yii\bootstrap\Modal' => YII_PATH . '/bootstrap/Modal.php',
|
||||
'yii\bootstrap\Nav' => YII_PATH . '/bootstrap/Nav.php',
|
||||
'yii\bootstrap\NavBar' => YII_PATH . '/bootstrap/NavBar.php',
|
||||
'yii\bootstrap\Progress' => YII_PATH . '/bootstrap/Progress.php',
|
||||
'yii\bootstrap\Tabs' => YII_PATH . '/bootstrap/Tabs.php',
|
||||
'yii\bootstrap\TypeAhead' => YII_PATH . '/bootstrap/TypeAhead.php',
|
||||
'yii\bootstrap\Widget' => YII_PATH . '/bootstrap/Widget.php',
|
||||
'yii\caching\ApcCache' => YII_PATH . '/caching/ApcCache.php',
|
||||
'yii\caching\Cache' => YII_PATH . '/caching/Cache.php',
|
||||
'yii\caching\ChainedDependency' => YII_PATH . '/caching/ChainedDependency.php',
|
||||
'yii\caching\DbCache' => YII_PATH . '/caching/DbCache.php',
|
||||
'yii\caching\DbDependency' => YII_PATH . '/caching/DbDependency.php',
|
||||
'yii\caching\Dependency' => YII_PATH . '/caching/Dependency.php',
|
||||
'yii\caching\DummyCache' => YII_PATH . '/caching/DummyCache.php',
|
||||
'yii\caching\ExpressionDependency' => YII_PATH . '/caching/ExpressionDependency.php',
|
||||
'yii\caching\FileCache' => YII_PATH . '/caching/FileCache.php',
|
||||
'yii\caching\FileDependency' => YII_PATH . '/caching/FileDependency.php',
|
||||
'yii\caching\GroupDependency' => YII_PATH . '/caching/GroupDependency.php',
|
||||
'yii\caching\MemCache' => YII_PATH . '/caching/MemCache.php',
|
||||
'yii\caching\MemCacheServer' => YII_PATH . '/caching/MemCacheServer.php',
|
||||
'yii\caching\WinCache' => YII_PATH . '/caching/WinCache.php',
|
||||
'yii\caching\XCache' => YII_PATH . '/caching/XCache.php',
|
||||
'yii\caching\ZendDataCache' => YII_PATH . '/caching/ZendDataCache.php',
|
||||
'yii\data\ActiveDataProvider' => YII_PATH . '/data/ActiveDataProvider.php',
|
||||
'yii\data\ArrayDataProvider' => YII_PATH . '/data/ArrayDataProvider.php',
|
||||
'yii\data\DataProvider' => YII_PATH . '/data/DataProvider.php',
|
||||
'yii\data\IDataProvider' => YII_PATH . '/data/IDataProvider.php',
|
||||
'yii\data\Pagination' => YII_PATH . '/data/Pagination.php',
|
||||
'yii\data\Sort' => YII_PATH . '/data/Sort.php',
|
||||
'yii\db\ActiveQuery' => YII_PATH . '/db/ActiveQuery.php',
|
||||
'yii\db\ActiveRecord' => YII_PATH . '/db/ActiveRecord.php',
|
||||
'yii\db\ActiveRelation' => YII_PATH . '/db/ActiveRelation.php',
|
||||
'yii\db\ColumnSchema' => YII_PATH . '/db/ColumnSchema.php',
|
||||
'yii\db\Command' => YII_PATH . '/db/Command.php',
|
||||
'yii\db\Connection' => YII_PATH . '/db/Connection.php',
|
||||
'yii\db\DataReader' => YII_PATH . '/db/DataReader.php',
|
||||
'yii\db\Exception' => YII_PATH . '/db/Exception.php',
|
||||
'yii\db\Expression' => YII_PATH . '/db/Expression.php',
|
||||
'yii\db\Migration' => YII_PATH . '/db/Migration.php',
|
||||
'yii\db\mssql\PDO' => YII_PATH . '/db/mssql/PDO.php',
|
||||
'yii\db\mssql\QueryBuilder' => YII_PATH . '/db/mssql/QueryBuilder.php',
|
||||
'yii\db\mssql\Schema' => YII_PATH . '/db/mssql/Schema.php',
|
||||
'yii\db\mssql\SqlsrvPDO' => YII_PATH . '/db/mssql/SqlsrvPDO.php',
|
||||
'yii\db\mysql\QueryBuilder' => YII_PATH . '/db/mysql/QueryBuilder.php',
|
||||
'yii\db\mysql\Schema' => YII_PATH . '/db/mysql/Schema.php',
|
||||
'yii\db\pgsql\QueryBuilder' => YII_PATH . '/db/pgsql/QueryBuilder.php',
|
||||
'yii\db\pgsql\Schema' => YII_PATH . '/db/pgsql/Schema.php',
|
||||
'yii\db\Query' => YII_PATH . '/db/Query.php',
|
||||
'yii\db\QueryBuilder' => YII_PATH . '/db/QueryBuilder.php',
|
||||
'yii\db\Schema' => YII_PATH . '/db/Schema.php',
|
||||
'yii\db\sqlite\QueryBuilder' => YII_PATH . '/db/sqlite/QueryBuilder.php',
|
||||
'yii\db\sqlite\Schema' => YII_PATH . '/db/sqlite/Schema.php',
|
||||
'yii\db\StaleObjectException' => YII_PATH . '/db/StaleObjectException.php',
|
||||
'yii\db\TableSchema' => YII_PATH . '/db/TableSchema.php',
|
||||
'yii\db\Transaction' => YII_PATH . '/db/Transaction.php',
|
||||
'yii\helpers\ArrayHelper' => YII_PATH . '/helpers/ArrayHelper.php',
|
||||
'yii\helpers\base\ArrayHelper' => YII_PATH . '/helpers/base/ArrayHelper.php',
|
||||
'yii\helpers\base\Console' => YII_PATH . '/helpers/base/Console.php',
|
||||
'yii\helpers\base\FileHelper' => YII_PATH . '/helpers/base/FileHelper.php',
|
||||
'yii\helpers\base\Html' => YII_PATH . '/helpers/base/Html.php',
|
||||
'yii\helpers\base\HtmlPurifier' => YII_PATH . '/helpers/base/HtmlPurifier.php',
|
||||
'yii\helpers\base\Inflector' => YII_PATH . '/helpers/base/Inflector.php',
|
||||
'yii\helpers\base\Json' => YII_PATH . '/helpers/base/Json.php',
|
||||
'yii\helpers\base\Markdown' => YII_PATH . '/helpers/base/Markdown.php',
|
||||
'yii\helpers\base\SecurityHelper' => YII_PATH . '/helpers/base/SecurityHelper.php',
|
||||
'yii\helpers\base\StringHelper' => YII_PATH . '/helpers/base/StringHelper.php',
|
||||
'yii\helpers\base\VarDumper' => YII_PATH . '/helpers/base/VarDumper.php',
|
||||
'yii\helpers\Console' => YII_PATH . '/helpers/Console.php',
|
||||
'yii\helpers\FileHelper' => YII_PATH . '/helpers/FileHelper.php',
|
||||
'yii\helpers\Html' => YII_PATH . '/helpers/Html.php',
|
||||
'yii\helpers\HtmlPurifier' => YII_PATH . '/helpers/HtmlPurifier.php',
|
||||
'yii\helpers\Inflector' => YII_PATH . '/helpers/Inflector.php',
|
||||
'yii\helpers\Json' => YII_PATH . '/helpers/Json.php',
|
||||
'yii\helpers\Markdown' => YII_PATH . '/helpers/Markdown.php',
|
||||
'yii\helpers\SecurityHelper' => YII_PATH . '/helpers/SecurityHelper.php',
|
||||
'yii\helpers\StringHelper' => YII_PATH . '/helpers/StringHelper.php',
|
||||
'yii\helpers\VarDumper' => YII_PATH . '/helpers/VarDumper.php',
|
||||
'yii\i18n\DbMessageSource' => YII_PATH . '/i18n/DbMessageSource.php',
|
||||
'yii\i18n\Formatter' => YII_PATH . '/i18n/Formatter.php',
|
||||
'yii\i18n\GettextFile' => YII_PATH . '/i18n/GettextFile.php',
|
||||
'yii\i18n\GettextMessageSource' => YII_PATH . '/i18n/GettextMessageSource.php',
|
||||
'yii\i18n\GettextMoFile' => YII_PATH . '/i18n/GettextMoFile.php',
|
||||
'yii\i18n\GettextPoFile' => YII_PATH . '/i18n/GettextPoFile.php',
|
||||
'yii\i18n\I18N' => YII_PATH . '/i18n/I18N.php',
|
||||
'yii\i18n\MessageSource' => YII_PATH . '/i18n/MessageSource.php',
|
||||
'yii\i18n\MissingTranslationEvent' => YII_PATH . '/i18n/MissingTranslationEvent.php',
|
||||
'yii\i18n\PhpMessageSource' => YII_PATH . '/i18n/PhpMessageSource.php',
|
||||
'yii\log\DbTarget' => YII_PATH . '/log/DbTarget.php',
|
||||
'yii\log\EmailTarget' => YII_PATH . '/log/EmailTarget.php',
|
||||
'yii\log\FileTarget' => YII_PATH . '/log/FileTarget.php',
|
||||
'yii\log\Logger' => YII_PATH . '/log/Logger.php',
|
||||
'yii\log\Target' => YII_PATH . '/log/Target.php',
|
||||
'yii\rbac\Assignment' => YII_PATH . '/rbac/Assignment.php',
|
||||
'yii\rbac\DbManager' => YII_PATH . '/rbac/DbManager.php',
|
||||
'yii\rbac\Item' => YII_PATH . '/rbac/Item.php',
|
||||
'yii\rbac\Manager' => YII_PATH . '/rbac/Manager.php',
|
||||
'yii\rbac\PhpManager' => YII_PATH . '/rbac/PhpManager.php',
|
||||
'yii\requirements\YiiRequirementChecker' => YII_PATH . '/requirements/YiiRequirementChecker.php',
|
||||
'yii\validators\BooleanValidator' => YII_PATH . '/validators/BooleanValidator.php',
|
||||
'yii\validators\CaptchaValidator' => YII_PATH . '/validators/CaptchaValidator.php',
|
||||
'yii\validators\CompareValidator' => YII_PATH . '/validators/CompareValidator.php',
|
||||
'yii\validators\DateValidator' => YII_PATH . '/validators/DateValidator.php',
|
||||
'yii\validators\DefaultValueValidator' => YII_PATH . '/validators/DefaultValueValidator.php',
|
||||
'yii\validators\EmailValidator' => YII_PATH . '/validators/EmailValidator.php',
|
||||
'yii\validators\ExistValidator' => YII_PATH . '/validators/ExistValidator.php',
|
||||
'yii\validators\FileValidator' => YII_PATH . '/validators/FileValidator.php',
|
||||
'yii\validators\FilterValidator' => YII_PATH . '/validators/FilterValidator.php',
|
||||
'yii\validators\InlineValidator' => YII_PATH . '/validators/InlineValidator.php',
|
||||
'yii\validators\NumberValidator' => YII_PATH . '/validators/NumberValidator.php',
|
||||
'yii\validators\RangeValidator' => YII_PATH . '/validators/RangeValidator.php',
|
||||
'yii\validators\RegularExpressionValidator' => YII_PATH . '/validators/RegularExpressionValidator.php',
|
||||
'yii\validators\RequiredValidator' => YII_PATH . '/validators/RequiredValidator.php',
|
||||
'yii\validators\StringValidator' => YII_PATH . '/validators/StringValidator.php',
|
||||
'yii\validators\UniqueValidator' => YII_PATH . '/validators/UniqueValidator.php',
|
||||
'yii\validators\UrlValidator' => YII_PATH . '/validators/UrlValidator.php',
|
||||
'yii\validators\Validator' => YII_PATH . '/validators/Validator.php',
|
||||
'yii\web\AccessControl' => YII_PATH . '/web/AccessControl.php',
|
||||
'yii\web\AccessRule' => YII_PATH . '/web/AccessRule.php',
|
||||
'yii\web\Application' => YII_PATH . '/web/Application.php',
|
||||
'yii\web\AssetBundle' => YII_PATH . '/web/AssetBundle.php',
|
||||
'yii\web\AssetConverter' => YII_PATH . '/web/AssetConverter.php',
|
||||
'yii\web\AssetManager' => YII_PATH . '/web/AssetManager.php',
|
||||
'yii\web\CacheSession' => YII_PATH . '/web/CacheSession.php',
|
||||
'yii\web\CaptchaAction' => YII_PATH . '/web/CaptchaAction.php',
|
||||
'yii\web\Controller' => YII_PATH . '/web/Controller.php',
|
||||
'yii\web\Cookie' => YII_PATH . '/web/Cookie.php',
|
||||
'yii\web\CookieCollection' => YII_PATH . '/web/CookieCollection.php',
|
||||
'yii\web\DbSession' => YII_PATH . '/web/DbSession.php',
|
||||
'yii\web\HeaderCollection' => YII_PATH . '/web/HeaderCollection.php',
|
||||
'yii\web\HttpCache' => YII_PATH . '/web/HttpCache.php',
|
||||
'yii\web\HttpException' => YII_PATH . '/web/HttpException.php',
|
||||
'yii\web\IAssetConverter' => YII_PATH . '/web/IAssetConverter.php',
|
||||
'yii\web\Identity' => YII_PATH . '/web/Identity.php',
|
||||
'yii\web\JsExpression' => YII_PATH . '/web/JsExpression.php',
|
||||
'yii\web\PageCache' => YII_PATH . '/web/PageCache.php',
|
||||
'yii\web\Request' => YII_PATH . '/web/Request.php',
|
||||
'yii\web\Response' => YII_PATH . '/web/Response.php',
|
||||
'yii\web\ResponseEvent' => YII_PATH . '/web/ResponseEvent.php',
|
||||
'yii\web\ResponseFormatter' => YII_PATH . '/web/ResponseFormatter.php',
|
||||
'yii\web\Session' => YII_PATH . '/web/Session.php',
|
||||
'yii\web\SessionIterator' => YII_PATH . '/web/SessionIterator.php',
|
||||
'yii\web\UploadedFile' => YII_PATH . '/web/UploadedFile.php',
|
||||
'yii\web\UrlManager' => YII_PATH . '/web/UrlManager.php',
|
||||
'yii\web\UrlRule' => YII_PATH . '/web/UrlRule.php',
|
||||
'yii\web\User' => YII_PATH . '/web/User.php',
|
||||
'yii\web\UserEvent' => YII_PATH . '/web/UserEvent.php',
|
||||
'yii\web\VerbFilter' => YII_PATH . '/web/VerbFilter.php',
|
||||
'yii\web\XmlResponseFormatter' => YII_PATH . '/web/XmlResponseFormatter.php',
|
||||
'yii\widgets\ActiveField' => YII_PATH . '/widgets/ActiveField.php',
|
||||
'yii\widgets\ActiveForm' => YII_PATH . '/widgets/ActiveForm.php',
|
||||
'yii\widgets\BaseListView' => YII_PATH . '/widgets/BaseListView.php',
|
||||
'yii\widgets\Block' => YII_PATH . '/widgets/Block.php',
|
||||
'yii\widgets\Breadcrumbs' => YII_PATH . '/widgets/Breadcrumbs.php',
|
||||
'yii\widgets\Captcha' => YII_PATH . '/widgets/Captcha.php',
|
||||
'yii\widgets\ContentDecorator' => YII_PATH . '/widgets/ContentDecorator.php',
|
||||
'yii\widgets\DetailView' => YII_PATH . '/widgets/DetailView.php',
|
||||
'yii\widgets\FragmentCache' => YII_PATH . '/widgets/FragmentCache.php',
|
||||
'yii\widgets\InputWidget' => YII_PATH . '/widgets/InputWidget.php',
|
||||
'yii\widgets\LinkPager' => YII_PATH . '/widgets/LinkPager.php',
|
||||
'yii\widgets\ListPager' => YII_PATH . '/widgets/ListPager.php',
|
||||
'yii\widgets\ListView' => YII_PATH . '/widgets/ListView.php',
|
||||
'yii\widgets\MaskedInput' => YII_PATH . '/widgets/MaskedInput.php',
|
||||
'yii\widgets\Menu' => YII_PATH . '/widgets/Menu.php',
|
||||
'yii\widgets\Spaceless' => YII_PATH . '/widgets/Spaceless.php',
|
||||
);
|
||||
|
||||
@@ -130,6 +130,13 @@ class Query extends Component
|
||||
* For example, `array(':name' => 'Dan', ':age' => 31)`.
|
||||
*/
|
||||
public $params;
|
||||
/**
|
||||
* @var string|callable $column the name of the column by which the query results should be indexed by.
|
||||
* This can also be a callable (e.g. anonymous function) that returns the index value based on the given
|
||||
* row data. For more details, see [[indexBy()]]. This property is only used by [[all()]].
|
||||
*/
|
||||
public $indexBy;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a DB command that can be used to execute this query.
|
||||
@@ -146,6 +153,27 @@ class Query extends Component
|
||||
return $db->createCommand($sql, $this->params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the [[indexBy]] property.
|
||||
* @param string|callable $column the name of the column by which the query results should be indexed by.
|
||||
* This can also be a callable (e.g. anonymous function) that returns the index value based on the given
|
||||
* row data. The signature of the callable should be:
|
||||
*
|
||||
* ~~~
|
||||
* function ($row)
|
||||
* {
|
||||
* // return the index value corresponding to $row
|
||||
* }
|
||||
* ~~~
|
||||
*
|
||||
* @return Query the query object itself
|
||||
*/
|
||||
public function indexBy($column)
|
||||
{
|
||||
$this->indexBy = $column;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes the query and returns all results as an array.
|
||||
* @param Connection $db the database connection used to generate the SQL statement.
|
||||
@@ -154,7 +182,20 @@ class Query extends Component
|
||||
*/
|
||||
public function all($db = null)
|
||||
{
|
||||
return $this->createCommand($db)->queryAll();
|
||||
$rows = $this->createCommand($db)->queryAll();
|
||||
if ($this->indexBy === null) {
|
||||
return $rows;
|
||||
}
|
||||
$result = array();
|
||||
foreach ($rows as $row) {
|
||||
if (is_string($this->indexBy)) {
|
||||
$key = $row[$this->indexBy];
|
||||
} else {
|
||||
$key = call_user_func($this->indexBy, $row);
|
||||
}
|
||||
$result[$key] = $row;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
namespace yii\helpers\base;
|
||||
|
||||
use Yii;
|
||||
use yii\helpers\StringHelper as StringHelper2;
|
||||
|
||||
/**
|
||||
* Filesystem helper
|
||||
@@ -133,16 +134,25 @@ class FileHelper
|
||||
*
|
||||
* - dirMode: integer, the permission to be set for newly copied directories. Defaults to 0777.
|
||||
* - fileMode: integer, the permission to be set for newly copied files. Defaults to the current environment setting.
|
||||
* - filter: callback, a PHP callback that is called for each sub-directory or file.
|
||||
* If the callback returns false, then the sub-directory or file will not be copied.
|
||||
* The signature of the callback should be: `function ($path)`, where `$path` refers the full path to be copied.
|
||||
* - only: array, list of patterns that the files or directories should match if they want to be copied.
|
||||
* A path matches a pattern if it contains the pattern string at its end. For example,
|
||||
* '/a/b' will match all files and directories ending with '/a/b'; and the '.svn' will match all files and
|
||||
* directories whose name ends with '.svn'. Note, the '/' characters in a pattern matches both '/' and '\'.
|
||||
* If a file/directory matches a pattern in both "only" and "except", it will NOT be copied.
|
||||
* - except: array, list of patterns that the files or directories should NOT match if they want to be copied.
|
||||
* For more details on how to specify the patterns, please refer to the "only" option.
|
||||
* - filter: callback, a PHP callback that is called for each directory or file.
|
||||
* The signature of the callback should be: `function ($path)`, where `$path` refers the full path to be filtered.
|
||||
* The callback can return one of the following values:
|
||||
*
|
||||
* * true: the directory or file will be copied (the "only" and "except" options will be ignored)
|
||||
* * false: the directory or file will NOT be copied (the "only" and "except" options will be ignored)
|
||||
* * null: the "only" and "except" options will determine whether the directory or file should be copied
|
||||
*
|
||||
* - only: array, list of patterns that the file paths should match if they want to be copied.
|
||||
* A path matches a pattern if it contains the pattern string at its end.
|
||||
* For example, '.php' matches all file paths ending with '.php'.
|
||||
* Note, the '/' characters in a pattern matches both '/' and '\' in the paths.
|
||||
* If a file path matches a pattern in both "only" and "except", it will NOT be copied.
|
||||
* - except: array, list of patterns that the files or directories should match if they want to be excluded from being copied.
|
||||
* A path matches a pattern if it contains the pattern string at its end.
|
||||
* Patterns ending with '/' apply to directory paths only, and patterns not ending with '/'
|
||||
* apply to file paths only. For example, '/a/b' matches all file paths ending with '/a/b';
|
||||
* and '.svn/' matches directory paths ending with '.svn'. Note, the '/' characters in a pattern matches
|
||||
* both '/' and '\' in the paths.
|
||||
* - recursive: boolean, whether the files under the subdirectories should also be copied. Defaults to true.
|
||||
* - afterCopy: callback, a PHP callback that is called after each sub-directory or file is successfully copied.
|
||||
* The signature of the callback should be: `function ($from, $to)`, where `$from` is the sub-directory or
|
||||
@@ -207,16 +217,25 @@ class FileHelper
|
||||
* @param string $dir the directory under which the files will be looked for.
|
||||
* @param array $options options for file searching. Valid options are:
|
||||
*
|
||||
* - filter: callback, a PHP callback that is called for each sub-directory or file.
|
||||
* If the callback returns false, then the sub-directory or file will be excluded from the returning result.
|
||||
* - filter: callback, a PHP callback that is called for each directory or file.
|
||||
* The signature of the callback should be: `function ($path)`, where `$path` refers the full path to be filtered.
|
||||
* - only: array, list of patterns that the files or directories should match if they want to be returned.
|
||||
* A path matches a pattern if it contains the pattern string at its end. For example,
|
||||
* '/a/b' will match all files and directories ending with '/a/b'; and the '.svn' will match all files and
|
||||
* directories whose name ends with '.svn'. Note, the '/' characters in a pattern matches both '/' and '\'.
|
||||
* If a file/directory matches a pattern in both in "only" and "except", it will NOT be returned.
|
||||
* - except: array, list of patterns that the files or directories should NOT match if they want to be returned.
|
||||
* For more details on how to specify the patterns, please refer to the "only" option.
|
||||
* The callback can return one of the following values:
|
||||
*
|
||||
* * true: the directory or file will be returned (the "only" and "except" options will be ignored)
|
||||
* * false: the directory or file will NOT be returned (the "only" and "except" options will be ignored)
|
||||
* * null: the "only" and "except" options will determine whether the directory or file should be returned
|
||||
*
|
||||
* - only: array, list of patterns that the file paths should match if they want to be returned.
|
||||
* A path matches a pattern if it contains the pattern string at its end.
|
||||
* For example, '.php' matches all file paths ending with '.php'.
|
||||
* Note, the '/' characters in a pattern matches both '/' and '\' in the paths.
|
||||
* If a file path matches a pattern in both "only" and "except", it will NOT be returned.
|
||||
* - except: array, list of patterns that the file paths or directory paths should match if they want to be excluded from the result.
|
||||
* A path matches a pattern if it contains the pattern string at its end.
|
||||
* Patterns ending with '/' apply to directory paths only, and patterns not ending with '/'
|
||||
* apply to file paths only. For example, '/a/b' matches all file paths ending with '/a/b';
|
||||
* and '.svn/' matches directory paths ending with '.svn'. Note, the '/' characters in a pattern matches
|
||||
* both '/' and '\' in the paths.
|
||||
* - recursive: boolean, whether the files under the subdirectories should also be looked for. Defaults to true.
|
||||
* @return array files found under the directory. The file list is sorted.
|
||||
*/
|
||||
@@ -250,24 +269,33 @@ class FileHelper
|
||||
*/
|
||||
public static function filterPath($path, $options)
|
||||
{
|
||||
if (isset($options['filter']) && !call_user_func($options['filter'], $path)) {
|
||||
return false;
|
||||
if (isset($options['filter'])) {
|
||||
$result = call_user_func($options['filter'], $path);
|
||||
if (is_bool($result)) {
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
$path = str_replace('\\', '/', $path);
|
||||
$n = \yii\helpers\StringHelper::strlen($path);
|
||||
if ($isDir = is_dir($path)) {
|
||||
$path .= '/';
|
||||
}
|
||||
$n = StringHelper2::strlen($path);
|
||||
|
||||
if (!empty($options['except'])) {
|
||||
foreach ($options['except'] as $name) {
|
||||
if (\yii\helpers\StringHelper::substr($path, -\yii\helpers\StringHelper::strlen($name), $n) === $name) {
|
||||
if (StringHelper2::substr($path, -StringHelper2::strlen($name), $n) === $name) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!empty($options['only'])) {
|
||||
|
||||
if (!$isDir && !empty($options['only'])) {
|
||||
foreach ($options['only'] as $name) {
|
||||
if (\yii\helpers\StringHelper::substr($path, -\yii\helpers\StringHelper::strlen($name), $n) !== $name) {
|
||||
return false;
|
||||
if (StringHelper2::substr($path, -StringHelper2::strlen($name), $n) === $name) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user