A full-stack PHP framework delivered as a C-extension

Its innovative architecture makes Phalcon the fastest PHP framework ever built! See for yourself...

Sponsored by

基本的な使い方

  • Low overhead

    Low overhead

    Low memory consumption and CPU compared to traditional frameworks

  • MVC & HMVC

    MVC & HMVC

    Modules, components, models, views and controllers

  • 依存性の注入

    依存性の注入

    依存性注入とサービスの場所は、それ自体のためのコンテナです。

  • Rest

    Rest

    In this case, you can use either a micro or full stack application to meet your goal. In addition, a powerful set of HTTP helpers.

  • オートローダー

    オートローダー

    PSR-4に準拠したPHPクラスのオートロード機構を提供します。

  • Router

    Router

    Phalcon\Mvc\Router provides advanced routing capabilities.

Low overhead

PHP C-extension (Phalcon)

  • Zephir/C extensions are loaded together with PHP one time on the web server's daemon start process
  • Classes and functions provided by the extension are ready to use for any application
  • The code is compiled and isn't interpreted because it's already compiled to a specific platform and processor
  • Thanks to its low-level architecture and optimizations Phalcon provides the lowest overhead for MVC-based applications

Data & storage

  • ORM

    ORM

    Object Relational Mapping

  • PHQL

    PHQL

    The powerful and secure Phalcon Query Language, PHQL

  • ODM for Mongo

    ODM for Mongo

    Object Document Mapping for MongoDB

  • トランザクション

    トランザクション

    ファルコンのトランザクションは安全なデータの整合性を維持することができます。

  • キャッシュ

    キャッシュ

    Phalconが提供する多くのバックエンドキャッシュでパフォーマンスを向上させる

ORM

A powerful ORM is provided by Phalcon allowing you to manipulate database records as classes and objects. MySQL, PostgreSQL and SQLite are supported out of the box.

                    
use Phalcon\Mvc\Model;

class Robots extends Model
{
    public $id;

    public $name;

    public function initialize()
    {
        $this->hasMany('id', 'RobotsParts', 'robots_id');
    }
}
                    
                

ビュー と フロント エンド

  • Template Engines

    Template Engines

    Views represent the user interface of your application

  • テンプレートエンジン (Volt)

    テンプレートエンジン (Volt)

    A template engine inspired by Jinja but built in C for PHP

  • i18n

    i18n

    Translate your applications to many languages easily

  • フォーム ビルダー

    フォーム ビルダー

    Easily create HTML forms

  • フラッシュ メッセージ

    フラッシュ メッセージ

    Flash messages are used to notify the user about the state of actions.

Template Engines

Views represent the user interface of your application. Views are often HTML files with embedded PHP code that perform tasks related solely to the presentation of the data. Views handle the job of providing data to the web browser or other tool that is used to make requests from your application.

                    
<html>
    <body>
    <div class='top'><?php $this->partial('shared/ad_banner'); ?></div>
    <div class='content'>
        <h1>Robots</h1>
        <p>Check out our specials for robots:</p>
        ...
    </div>
    <div class='footer'><?php $this->partial('shared/footer'); ?></div>
    </body>
</html>                    
                

MORE...

  • ACL

    ACL

    アクセス制御リストを使用すると、許可されているモジュールにアクセスできます

  • シャーディング

    シャーディング

    Connect, store and retrieve data from many database systems at the same time

  • 暗号

    暗号

    重要なデータを暗号化/復号化することで、不正な第三者からの安全を確保する

  • イベント

    イベント

    Extend the most of the framework components by setting 'hook points'. Create your own events and make your application more flexible and powerful

  • Queueing - background process

    Queueing - background process

    Use the built-in queueing system in Phalcon to schedule jobs and reduce the load of your web server

ACL

アクセス制御リスト(ACL)を作成する方法は次のとおりです。:

                    
use Phalcon\Acl;
use Phalcon\Acl\Role;
use Phalcon\Acl\Adapter\Memory as AclList;

// ACLオブジェクトを作る
$acl = new AclList();

// デフォルトの挙動はDENY(拒否)
$acl->setDefaultAction(Acl::DENY);

// 2つのロールを登録する
// ユーザーは登録済みユーザー、ゲストは未登録ユーザー
$roles = array(
    'users'  => new Role('Users'),
    'guests' => new Role('Guests')
);

foreach ($roles as $role) {
    $acl->addRole($role);
}
                    
                

A polling app built from scratch in < 15 min

デモビデオを見る

Come join our vibrant developer community!

Community contributions in Extensions, Plugins, Adapters, VM, examples, source code... and more