Ответы пользователя по тегу PHP
  • Будет ли жить Phalcon?

    @ZaxapKramer
    Больной верстальщик
    Он весьма и весьма интересный. Пусть он не обладает таким же большим сообществом, как Laravel, но это ни о чем, в принципе, не говорит.
    Laravel по архитектуре и скорости работы не превосходит Phalcon, то же самое, в принципе, можно сказать и о Yii c Zend и многих других.
    Пожалуй, одна из причин относительно малой распространенности Phalcon - то, что на обычный хостинг его не поставишь (а многим ведь нравятся такие извращения). Под него, как под Laravel, не написано множество модулей типа (собери конструктор)...

    Будучи расширением, написанным на C и Zephir, он обладает приемлемой скоростью работы и потребляет значительно меньше ресурсов, чем если бы это был чистый PHP (framework).
    Phalcon + PHP7 = Must Have.
    Архитектура мне очень нравится, писать "легко и удобно", именно с Phalcon я немного полюбил php.

    Интересно - "ковыряйте", понравится - используйте! Можно попробовать заинтересовать начальство - многим это удавалось. Удачи.
    Ответ написан
    Комментировать
  • Кто устанавливал Phalcon, как запустить installer из cygwin(выводит ошибки)?

    @ZaxapKramer
    Больной верстальщик
    У меня тоже в свое время были разного рода заморочки по этому поводу: Laravel и прочие сказываются.
    На деле же phalcon.dll - это весь фреймворк, вот весь. Установили? Что делать дальше? Ничего, начинайте писать)) В документации есть примерные структуры под разного рода проекты и т.п. (Phalcon не диктует особой структуры проекта), а остальное Вы найдете в Git, удачи.
    Ответ написан
    Комментировать
  • Почему не работает контроллер?

    @ZaxapKramer
    Больной верстальщик
    Необходимо в SecurityPlugin.php, который находится в app/plugins (если не изменяет память), прописать в параметрах ACL страницу (контроллер и действие(ия)).

    Если необходимо сделать страницу доступной для всех (public) - ~59 строка:
    $publicResources = array(
    	'index'      => array('index'),
    	'about'      => array('index'),
    	'register'   => array('index'),
    	'errors'     => array('show401', 'show404', 'show500'),
    	'session'    => array('index', 'register', 'start', 'end'),
    	'contact'    => array('index', 'send'),
    	'test'       => array('index') // Как-то так: test указывает на TestController, index - на indexAction     
    );


    Если же страница должна быть доступна только зарегистрированным пользователям (private), делайте аналогично в $privateResources (~48 строка):
    $privateResources = array(
    	'companies'    => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
    	'products'     => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
    	'producttypes' => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
    	'invoices'     => array('index', 'profile'),
    	'test'         => array('index') // Вот, как-то так:)
    );


    Удачи!
    Ответ написан
    Комментировать
  • Есть ли перспективы у фреймворка PHP Phalcon?

    @ZaxapKramer
    Больной верстальщик
    Phalcon не утратил/утратит перспективы с выходом PHP 7. Скорее, он просто станет быстрее.
    Не думаю, что PHP7 vs Phalcon вообще имеет место быть - тут, скорее, PHP7 with Phalcon:)
    HHVM - другой вопрос: он как раз не восходит, а нисходит.
    Ответ написан
    Комментировать
  • Почему не выводится первое представление на phalcon 2.1?

    @ZaxapKramer
    Больной верстальщик
    Если речь опять идет об INVO, то тут дело в том, что шаблонизатор phtml не подключен по умолчанию, зато подключен очень удобный шаблонизатор volt. Все volt-файлы автоматически компилируются в phtml-представления (да, расширение там по умолчанию - "php" (можно задать любое), но phtml, как я понял - это php+html).
    Напишите тот же "Привет, мир!" в одноименном volt-файле.
    Если Вам необходимо писать шаблоны именно на php+html (не думаю, что это удобно), читайте, как его подключать (шаблонизатор), либо напишу.
    Ответ написан
    1 комментарий
  • Как исправить ошибку при регистрации пользователя на phalcon?

    @ZaxapKramer
    Больной верстальщик
    Какой версией фреймворка Вы пользуетесь?
    В версии 2.1 разработчики отказались от отдельного валидатора в моделях (по-моему, это правильное решение).

    Используйте Validation:
    <?php
    use Phalcon\Mvc\Model;
    use Phalcon\Validation;
    use Phalcon\Validation\Validator\Email as EmailValidator;
    use Phalcon\Validation\Validator\Uniqueness as UniquenessValidator;
    
    class Users extends Model
    {
        public function validation()
        {
            $validation = new Validation();
    
            $validation
                ->add('email', new EmailValidator())
                ->add('email', new UniquenessValidator(array(
                    'model'   => $this,
                    'message' => 'Sorry, The email was registered by another user'
                )))
                ->add('username', new UniquenessValidator(array(
                    'model'   => $this,
                    'message' => 'Sorry, That username is already taken'
                )));
    
            return $this->validate($validation);
        }
    }


    А ошибки, если что, Вы можете вывести в котнроллере, используя метод flash, конечно же, передав в него свою модель:
    <?php
    // ...
    
    $user = new Users;
    
    foreach ($user->getMessages() as $message) {
        $this->flash->error($message->getMessage());
    }
    
    // ...


    P.S. Фреймворк развивается, документация устаревает :)
    Ответ написан
    4 комментария