Yii2到了!耶耶耶耶!
Yii2 是什么?
Yii2 是 PHP 框架 Yii 的最新版本,它将 Yii 的快速运行和可扩展性融入了现代的 PHP,是最新的 Web 应用程序框架。
Yii这个名字的发音是“Yī”。它源自中国简体字“简洁”和“发展”,同时也是“Yes! It Is(是的!它就是)”的缩写。(这个框架安全吗?能够正常使用吗?这是对一些问题的回答。)
Yii2的特点
-
- PHP5.4以上のモダンなPHP環境で動作します
-
- オーソドックスなフルスタックMVCフレームワークです。様々なフレームワークやCMSに影響を受けていますが、基本的なコードはRubyOnRailsによく似ています
-
- DBやキャッシュを幅広くサポートしています。RDBとNoSQLの両方を標準
-
- でサポートしています。
- IDEでの開発に最適化されています
从其他框架转换有什么好处吗?
昨今、モダンPHPフレームワークはYiiだけにとどまりません。Laravel4やPhalcon、CakePHP3もまもなくリリースされようとしています。
そんなPHPフレームワーク群雄割拠時代においてYii2を選ぶべき理由というのは…多分ありません。どのフレームワークも志向が異なりますし、そのフレームワークでなければ作れないシステムなんてこともそうそうあり得ません。究極的には好みなのですが、フレームワークを採用する場合、往々にしてそのフレームワークと心中する覚悟が問われます。(極論)ですので、できるならば、(将来性等あるにせよ)自分の思想と相性の良いフレームワークを選びたいとこですね。
选择Yii2的时候,你想要看的地方是什么?
然而,也不要總是說我無所謂,你喜歡怎樣就怎樣,這樣說也不太好。所以我會從Yii2的功能中挑選幾個亮點給你看看。
中文:中间件支持
Yii2默认支持多种数据库和缓存服务。
数据库
-
- MSSQL
-
- MySQL
-
- Oracle
-
- PostgreSQL
-
- SQLite
- mongodb*
缓存
-
- MemCache
-
- WinCache
-
- XCache
-
- ZendDataCache
- Redis*
仅通过yiisoft官方扩展提供,并无内置标准。
有些我完全不了解的东西也存在。虽然不太清楚它到底有多有用。但是它广泛支持RDB,这就意味着不受环境限制。而且在mongodb中也能使用同样的ActiveRecord,这是一个很大的优点。
REST控制器
我记得Laravel也有,不过Yii也有专门的REST控制器。
namespace app\controllers;
use yii\rest\ActiveController;
class UserController extends ActiveController
{
public $modelClass = 'app\models\User';
}
只需写上这个,就可以使用类似于REST的各种方法。REST的实现也很可靠,可以使用PUT和PATCH,还支持HEAD和OPTIONS等方法。还支持HATEOAS。
MongoDB的API可以很快地实现成前端,对吧!
IDE友好
Yii2的设计使得在IDE中容易进行自动补全。Cake3似乎也特别注重这一点。
我认为有很多人在使用文本编辑器而不是IDE进行开发,但是在动态语言中,PHP是一种特别受益于IDE的语言。虽然有人认为PHP比ruby更加不灵活,但与ruby相比,PHP的语法不是特别自由,这使得静态分析的结果比ruby更加准确。
然而,静态分析的好处在于它能够提供补全功能。测量指标之类的都不重要!重要的是在IDE中编码时能够自动补全合适的候选项!(※仅个人观点)
如果有多人参与开发,其功效非常显著。如果类名、方法名和参数名都恰当,并且能够充分缩小补全候选项,即使不阅读文档,也能轻松进行编码(※这只是个人感受,效果因个人而异)。
只需要一个选择,以下是对该句的中文本地化改写:
当能够完成修补工作时,即意味着可以跳转到定义,因此(如果不借助于魔法方法等),在追踪实现过程中也会非常顺利。
这是在使用IDE进行开发时必须要意识到的重要事项。
类似于Rails的感觉
yiiとcake2はコンパチRailsみたいな感じがありましたが、cake3がよりPHPらしい方向へシフトしてYii2はPHPフレームワークのなかでも非常にRailsに近しいようなフレームワークになったと思います。
PHPを書く羽目になっていまにも絶望の果てに魔女に身を落としそうなRubyistの皆様にはご一考の価値が有るのではないでしょうか
丰富感十足的扩展
由于在海外很受欢迎,因此一连串的扩展功能正在不断开发中。然而,从一开始就有很多实用的扩展,但数量多并不意味着都能使用。
英語
由于目前日语资源很有限,因此需要做好准备。但是官方文档已经进行了大量翻译,所以可以放心。
作为 Yii2AdventCalendar 的第一天,这是对 Yii2 的快速介绍!