Pull to refresh

FuelPHP — фреймворк с полным баком

Reading time 4 min
Views 13K
Fuel — это простой, гибкий, управляемый сообществом php5-фреймворк, родившийся благодаря разочарованию в имеющихся инструментах. Таким слоганом нас встречает сайт фреймворка — fuelphp.com.

Разработчики — Dan Horrigan, Phil Sturgeon, Jelmer Schreuder и другие участники сообщества. Ребята являлись (являются?) активными участниками сообщества Codeigniter, но разочаровались в темпах его развития (сейчас разработка Codeigniter ведется более активно, на два фронта — Codeigniter Core и комьюнити-драйвен-версия Codeigniter Reactor). В результате родился Fuel. Что ж, давайте рассмотрим его поближе.

FuelPHP распространяется по лицензии MIT. Активная разработка ведется с октября 2010, выход первой бета-версии планировался на 1.1.11. Но, как обычно и бывает в нашем нелегком программерском деле, срок перенесен на 7.1.11. Несмотря на это, уже сейчас можно познакомиться с исходным кодом, документацией и возможностями фреймворка. А возможности многообещающие.

Требования


  • PHP 5.3 или выше
  • Веб-сервер (протестировано на Apache, IIS, nginx)

Возможности


Реализованные:
  • HMVC
  • Каскадная файловая система (как в Kohana)
  • Pakages — модули для расширения функциональности
  • ActiveRecord
  • Утилита командной строки oil (создание заданий для cron, выполнение миграций, запуск тестов)
  • Интегрированные средства отладки Krumo
  • Классы для работы с cookies, session, email, ftp, upload, security, form, validation, route, cache и др.

Запланированные:
  • Модули аутентификации и ACL
  • Публикация примеров приложений на github

Тест-драйв


Скачиваем последнюю версию с github и распаковываем в wwwroot/fuel. Структура каталогов:
public/ - директория, доступная из web
      assets/
      index.php
docs/
fuel/
      app/
            cache/
            classes/
                  controller/
                        welcome.php
                  model/
            config/
            logs/
            migrations/
            modules/
            tasks/
            tmp/
            views/
                  welcome/
                        404.php
                        index.php
            bootstrap.php
      core/
      pakages/

Заходим на http://localhost/fuel/public/

FuelPHP - Welcome screen

Создадим собственный контроллер по умолчанию — fuel/app/classes/controller/testdrive.php:

<?php
class Controller_Testdrive extends Controller {
    public function action_index()
    {
        $this->render(
            'testdrive/index',
            array(
                'hello' => 'Hello Fuel!',
            )
        );
    }
}

В приведенном примере представлению testdrive/index передана переменная $hello со значением 'Hello Fuel!'.

Укажем в файле конфигурации fuel/app/config/config.php новый контроллер по умолчанию:

'routes' => array(
    // This is the default route.  We use a "#" here so that we do not have any
    // reserved routes.
    '#' => 'testdrive',
    '404' => 'welcome/404',
),
 

Файл представления fuel/app/views/testdrive/index.php:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Fuel PHP Framework Testdrive</title>
</head>
<body>
    <?php echo $hello; ?>
</body>
</html>
 

Обновляем страницу и получаем на выходе наш 'Hello Fuel!'.

Выводы


Fuel заслуживает внимания php-разработчиков, не желающих тратить время на длительное изучение и конфигурирование тяжеловесных фреймворков, но нуждающихся в современных инструментах для разработки веб-приложений. А учитывая всего лишь чуть более чем 2х-месячный возраст, от него стоит ожидать ещё больших достижений.

Ссылки


Сайт фреймворка — http://fuelphp.com
Исходный код — https://github.com/fuel/fuel
Поддержка — http://community.fuelphp.com/fuelphp
How fast is Fuel? — http://dhorrigan.com/blog/article/how-fast-is-fuel
Introducing FuelPHP — http://philsturgeon.co.uk/news/2011/01/introducing-fuelphp
Twitter — http://twitter.com/fuelphp
Примеры приложений на fuelphp — http://scrapyrd.com, http://amiafucktard.com
Tags:
Hubs:
+22
Comments 123
Comments Comments 123

Articles