Intereting Posts
Выберите все категории с последними сообщениями, пользователями и информацией о теме Хранение данных PHP session.upload_progress в базе данных Странный выпуск PHP 5.3 с расчетом разницы дат в днях Как подсчитать и ограничить запись в одном запросе в MYSQL? как я раунд в php с сохранением двух нулей Libreoffice –headless отказывается конвертировать, если не root, не будет работать с PHP-скриптом Создание экземпляра класса поставщика в конструкторе класса Номер формата mc_gross PayPal? Как получить весь столбец с именем, имеющим одно и то же имя, при использовании красноречия laravel? Слияние существующего PDF с динамически созданным PDF с использованием TCPDF Добавить класс в корневой элемент меню knp с помощью Twig Заменить конкретную строку в текстовом файле, используя php? Как построить график реального времени (гистограмма) с использованием данных, полученных в текстовом файле Определение содержимого вне контроллера? хэш-функция, которая работает одинаково на ColdFusion MX7 и PHP 5.x?

Невозможно вызвать действия indexController, отличные от indexAction, в Phalcon php

У меня есть простой проект в моем каталоге xampp / htdocs под названием phalcon, и у меня есть apache, настроенный на то, чтобы указать на эту папку, чтобы я мог перейти на phalcon / в мой браузер.

Проблема возникает, когда я пытаюсь открыть представление контроллера индекса, отличного от индекса (по умолчанию).
Например, у меня есть someAction в Index controller, а в views / index у меня есть some.phtml.
Если я перейду к phalcon / index / some, я не получу текст из some.phtml, выводимый на страницу.
Вероятно, потому, что он думает, что я не буду открывать IndexController-> indexAction и передавать некоторые параметры.

Был бы благодарен за любую помощь, оказанную для решения этой проблемы.
PS скелет проекта был скопирован с https://github.com/phalcon/skeleton-single .

Контроллер индекса:

<?php class IndexController extends ControllerBase { public function indexAction($action = null) { } public function someAction () { exit('test'); } } 

views / index / index.phtml:

 <?php echo $this->getContent(); ?> 

просмотров / индекс / some.phtml:

 Some Action 

просмотров / index.phtml

 <!DOCTYPE html> <html> <head> <title>Phalcon PHP Framework</title> </head> <body> <?php echo $this->getContent(); ?> </body> </html> 

Related of "Невозможно вызвать действия indexController, отличные от indexAction, в Phalcon php"

Я не уверен, полностью ли понимаю ваш вопрос, но я думаю, что ваше действие должно соответствовать папке / файлу с тем же именем, чтобы он функционировал.

Кроме того, я вижу, что у вас есть расширенный «ControllerBase», тогда у вас есть файл под названием «ControllerBase» в файле контроллеров с:

 class ControllerBase extends \Phalcon\Mvc\Controller 

Еще одна вещь, которую вы можете проверить, будет index.php в вашей общей папке. В большинстве случаев эти вещи происходят из-за отсутствия DI или неправильного ввода.

Я думаю, что вы должны проверить свой файл .htaccess для следующего правила:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L] </IfModule> 

Это позволит задействовать все другие действия контроллера, а не только индекс. Чтобы проверить, что проблема в этом правиле, вы можете получить доступ к вашему методу контроллера через url /index.php?_url=/index/some – если он будет загружен, измените ваш .htaccess, как в примере ниже

 please change your .htaccess settings to following one <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> 
 class SomeController... 

это то, что вы ищете.