Yii 2.0で大文字でスペースを書く

少し前まで、最初のアルファ版 Yii 2がリリースされました。もう少し詳しく知ることができます。



多くの議論の後、著者はスペースに小さな文字を選んだ。 そして、彼らはこれを非難することはできません。 結局のところ、いずれかのオプションを支持するすべての議論は個人的な好みに帰着します。



終わりのない戦争「ギャップvs. 集計。」 彼らはただ「それを受け入れて、心配しないで」と言うだけです。



わかった 私は和解しようとします。 フレームワークの中身を気にする人は、初めてそれが判明したときでさえ。 しかし、何も起こりません。



namespace app\controllers; use yii\web\Controller; use Zend\Barcode\Barcode; class SiteController extends Controller { }
      
      





アプリケーションにこのような混乱がある場合、私は不安です。



スペースとタブは交換できます。 GitフックまたはIDEはこれを非常に迅速に行います。 スペースを使用するとより複雑になりますが、私たちを止めることはできません。



PHPクラスでは大文字と小文字は区別されず、目的のファイルをインポートするためだけに残ることに注意してください。

これを行うには、必要なクラスオートローダーを追加します。Yiiローダーを登録した後にこれを行う必要があります。



 spl_autoload_register(function ($class) { if (0 === strncmp($class, 'Yii\\', 4)) { $pos = strrpos($class, '\\'); $parts = explode('\\', substr($class, 0, $pos)); array_walk( $parts, function (&$item) { $item = lcfirst($item); } ); spl_autoload_call( implode('\\', $parts) . '\\' . substr($class, $pos + 1) ); return true; } return false; });
      
      





コードはリポジトリにあります。Composerを使用する場合、次の依存関係を追加できます。



 "repositories": [ { "type": "package", "package": { "name": "slavcodev/ucfirst-namespace", "version": "dev-master", "source": { "type": "git", "url": "https://github.com/slavcodev/yii2-ucfirst-namespace.git", "reference": "master" }, "autoload": { "files": ["autoload.php"] } } } ], "require": { "php": ">=5.4.0", "ext-intl": "*", "yiisoft/yii2": "*", "slavcodev/ucfirst-namespace": "*" }
      
      





すべてが正常になりました。



 namespace App\Controllers; use Yii\Web\Controller; use Zend\Barcode\Barcode; class SiteController extends Controller { }
      
      





PSコメントにホリバーを配置せず、開発者の決定に対してyourりを表明しないようお願いします。 投稿のテキストに集中しましょう。コードを改善する方法についてのコメントやアイデアがあるかもしれません。 ありがとう



All Articles