2013-11-14 6 views
0

Я пытаюсь создать библиотеку с набором функций. Я хочу, чтобы моя форма, на мой взгляд, имела возможность получить доступ к функции и выполнить ее. Ниже мой PHP-файл, который я поместил в папку App/LibФункция вызова CakePHP из библиотеки

myClass.php:

class myClass{ 
     public function someFunction(){ 
      $parentPage =$this->referer(); 
      //do something 
      $this->redirect($parentPage); 
     }  
} 

Тогда, на мой взгляд, у меня есть форма (я не использую форму хелперы (и не Я хочу), что я хочу ударить по моему классу библиотеки, функции и перенаправить на заданную страницу (в этом примере - только ссылочная страница). Проблема заключается в том, что торт всегда пытается найти функцию внутри контроллера в папке контроллера. Как сообщить форме использовать класс вне папки контроллера?

Мой взгляд:

<form id="login-user" action="/Lib/myClass/someFunction" method="post"> 
    //form stuff here 
</form> 

Но я не нашел ошибку.

Возможно ли это сделать?

+0

Это выглядит как типичный метод контроллера. Почему вы хотите создать класс библиотеки для этой функции? – dhofstet

ответ

0

вы можете сказать торт, какой путь к папке вы хотите назвать своими взглядами.

Поместите это в ваш загрузочный файл App :: build (array ('View' => array ($ my_lib_folder_path.DS)));

вот фрагмент того, что я построил, чтобы пирог мог найти все папки в моей папке просмотра. так как мне нравится упорядочивать свой код в папках. т.е. View/CompanyManagement/AddCompanies/index.ctp Посмотреть/CompanyManagement/EditCompanies/index.ctp Посмотреть/CompanyManagement/DeleteCompanies/disable.ctp Посмотреть/CompanyManagement/DeleteCompanies/delete.ctp

и мой код говорит торт для поиска всех файлов под моей папкой просмотра и просмотра подпапок, чтобы найти конкретный вид, который я хочу. но исключить из поиска макеты, элементы и папки помощников.

приложение/Config/bootstrap.php

define('ELEMENTS', APP.'View'.DS.'Elements'); 
define('HELPERS',  APP.'View'.DS.'Helper'); 
define('LAYOUTS',  APP.'View'.DS.'Layouts'); 
define('VIEWS',  APP.'View'.DS) 


includeViews(); 

function includeViews() { 
    App::uses('Folder', 'Utility'); 
    $folder  = new Folder(VIEWS); 
    $folders_paths = current($folder->read($sort = true, $exceptions = false, $fullPath = true)); 

    foreach($folders_paths as $folder_path) { 
     $isAHelperPath = (new Folder($folder_path))->inPath(HELPERS); 
     $isALayoutPath = (new Folder($folder_path))->inPath(LAYOUTS); 
     $isAnElementPath = (new Folder($folder_path))->inPath(ELEMENTS); 
     if (! $isAHelperPath && ! $isALayoutPath && ! $isAnElementPath) { 
     App::build(array('View' => array($folder_path.DS))); 
     } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^