Phalcon 1.1ベータ

A.

PHPフレームワークPhalcon 1.0のリリースが成功した後、開発チームは引き続き開発に取り組んでいます。 この記事では、ベータのバージョン1.1.0で提示された最も興味深い機能を強調したいと思います。











クエリデザイナーのページネーション(QueryBuilder)



以前は、ページデータはモデルデータとネイティブ配列の出力にのみ使用可能でした。 ページ区切りを使用して、SQL LIMIT / OFFSETステートメントを使用するQueryBuilderコンストラクターを介して任意のクエリデータを出力できるようになりました。 大きなデータセットを出力するのに役立ちます。



use Phalcon\Paginator\Adapter\QueryBuilder; $builder = $this->modelsManager->createBuilder() ->columns('id, name') ->from('Robots') ->orderBy('name'); $paginator = new Paginator(array( "builder" => $builder, "limit" => 10, "page" => 1 )); $page = $paginator->getPaginate();
      
      









Beanstalkdキューサーバー



Beanstalkd Queue Serverのシンプルなクライアントは、現在フレームワークの一部です。



 //    $queue = new Phalcon\Queue\Beanstalk(array( 'host' => '192.168.0.21' )); //     ( ) $queue->put(array('proccessVideo' => 4871)); //     ( ) $queue->put( array('proccessVideo' => 4871), array('priority' => 250, 'delay' => 10, 'ttr' => 3600) ); while (($job = $queue->peekReady()) !== false) { $message = $job->getBody(); var_dump($message); $job->delete(); }
      
      









暗号化



mcrypt PHPライブラリに基づく暗号化クラスがこのバージョンのPhalconに追加れました



 //     $encryption = new Phalcon\Crypt(); $key = 'le password'; $text = 'This is a secret text'; $encrypted = $encryption->encrypt($text, $key); echo $encryption->decrypt($encrypted, $key);
      
      









資産管理



このコンポーネントを使用すると、CSSやJavascriptなどの静的リソースを簡単に管理できます。



 //      CSS $this->assets ->addCss('css/style.css') ->addCss('css/index.css'); //  - js- $this->assets ->addJs('js/jquery.js') ->addJs('js/bootstrap.min.js');
      
      







そして、それらをテンプレートに表示します

 <html> <head> <title>Some amazing website</title> <?php $this->assets->outputCss() ?> </head> <body> <!-- ... --> <?php $this->assets->outputJs() ?> </body> </html>
      
      









ORMバリデーターの例外モード



データ検証中、データベースレコードの作成/更新のプロセスで、save()/ create()/ update()メソッドはブール値を返します。 パラメーターの1つが検証に合格しなかった場合はFALSE。 これで、この動作を変更して例外をスローできます。



 use Phalcon\Mvc\Model\ValidationFailed; try { $robot = new Robots(); $robot->name = 'Bender'; $robot->save(); } catch (ValidationFailed $e) { echo 'Reason: ', $e->getMessage(); }
      
      









ホスト名ルーティング



ルーティングルールで、ホスト名を指定できるようになりました



 $router = new Phalcon\Mvc\Router(); $router->addGet('/api/robots', array( 'module' => 'api', 'controller' => 'robots', 'action' => 'index' ))->setHostName('api.phalconphp.com');
      
      







ルートグループを使用することもできます。

 $group = new Phalcon\Mvc\Router(); $group->setHostName('api.phalconphp.com'); $groop->addGet('/api/robots', array( 'module' => 'api', 'controller' => 'robots', 'action' => 'index' )); $groop->addGet('/api/robots/{id}', array( 'module' => 'api', 'controller' => 'robots', 'action' => 'show' )); $router->mount($group);
      
      









Mvc \ Microアプリケーションでコントローラーを使用する



Phalconの新しいバージョンでマイクロアプリケーションの構造をより適切に整理するために、コントローラーを要求ハンドラーとして指定できます(以前は呼び出し可能な値のみを使用できました)。



 $collection = new Phalcon\Mvc\Micro\Collection(); //   $collection ->setPrefix('/posts') ->setHandler(new PostsController()); //   $collection ->setPrefix('/posts') ->setHandler('PostsController', true); $collection->get('/', 'index'); $collection->get('/edit/{id}', 'edit'); $collection->delete('/delete/{id}', 'delete'); $app->mount($collection);
      
      









あとがき



Phalcon 1.1.0には、その他の変更とバグ修正が含まれています。 変更の全リストはCHANGELOGにあり 、このバージョンのフレームワークのドキュメントを読むことができます。



Phalconのパフォーマンスをまだ個人的にテストしていない場合は、すぐにインストールできます

 git clone http://github.com/phalcon/cphalcon cd build git checkout 1.1.0 sudo ./install
      
      





Windowsユーザーは、 ダウンロードページからDLLをインストールするだけです。



開発者は、 フォーラム (偶然にもPhalconで作成されています)およびStack Overflowでこのリリースについて議論するように招待されています。

バグをキャッチした場合、 Githubはプルリクエストまたは失敗したテストを喜んで受け入れます。





cPanelでPhalconのサポートに投票してコミュニティを支援します



Phalcon開発者は、フレームワークのサポートをcPanel Webホスティングコントロールパネルに追加することを提案しています。



PhalconがcPanelクライアントの手頃な価格の拡張機能になると、フレームワークの人気が高まるだけでなく、開発者、ホスティング企業、そしてその後のエンドユーザーにもメリットがあります。PhalconはCで記述されているため、 PHPで書かれた類似物と比較したサーバー。



cPanel Webサイトで機能要求に投票することにより、フレームワークの開発をサポートできます。

http://features.cpanel.net/responses/add-support-for-phalconphp-extension-apache-php






ソース:





PSテキストはagent_jによって翻訳および作成されていますが、特定の理由により、それを単独で配置することはできません。



All Articles