Полнофункциональный PHP-фреймворк, поставляемый как C-расширение

Инновационная архитектура делает Phalcon быстрейшим PHP-фреймворком из всех существующих! Смотрите сами...

При поддержке

Основные черты

  • Низкое потребление

    Низкое потребление

    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.

  • Автозагрузчик

    Автозагрузчик

    Provides the autoloading mechanism of PHP classes following PSR-4.

  • Роутинг

    Роутинг

    Phalcon\Mvc\Router provides advanced routing capabilities.

Низкое потребление

PHP C-extension (Phalcon)

  • Расширения на Zephir/C загружаются вместе с PHP один раз, при запуске демона веб-сервера
  • Классы и функции предоставляемые расширением готовы к использованию в любом приложении
  • The code is compiled and isn't interpreted because it's already compiled to a specific platform and processor
  • Благодаря его низко-уровневой архитектуре и оптимизациям Phalcon обеспечивает наименьшую нагрузку при работе MVC-приложений

Data & storage

  • ORM

    ORM

    Object Relational Mapping

  • PHQL

    PHQL

    The powerful and secure Phalcon Query Language, PHQL

  • ODM для Mongo

    ODM для Mongo

    Object Document Mapping for MongoDB

  • Транзакции

    Транзакции

    Transactions in Phalcon allows to keep the data integrity safe.

  • Кэш

    Кэш

    Improve your performance with many of the backend caches that Phalcon provides

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');
    }
}
                    
                

Представления и фронтенд

  • Шаблонизаторы

    Шаблонизаторы

    Views represent the user interface of your application

  • Шаблонизатор (Volt)

    Шаблонизатор (Volt)

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

  • Интернационализация

    Интернационализация

    Translate your applications to many languages easily

  • Конструктор форм

    Конструктор форм

    Easily create HTML forms

  • Информационные сообщения

    Информационные сообщения

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

Шаблонизаторы

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>                    
                

ЕЩЁ...

  • ACL

    ACL

    Access Control List allows users to access the modules they're authorized to

  • Шардирование

    Шардирование

    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

  • Очереди

    Очереди

    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;

// Create the ACL
$acl = new AclList();

// Действие по умолчанию - запрет (DENY) доступа
$acl->setDefaultAction(Acl::DENY);

// Register two roles, Users is registered users
// and guests are users without a defined identity
$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

Watch the demo video

Come join our vibrant developer community!

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