Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 20 апр 2024, 04:25

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 28 авг 2013, 15:25 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 апр 2013, 14:09
Сообщения: 162
Итак, в этой теме я уже что-то начал. Но как обычно пошел не по тому пути. А поскольку та тема к созданию модулей имеет весьма посредственное отношение, то решил создать конкретно эту тему для разъяснения именно этого вопроса.
Итак, что мне нужно понять в первую очередь.
1. Почему возникает такая ошибка: ErrorException [ Fatal Error ]: Class 'Base_Docx' not found.

Вот структура каталогов моего модуля:
MODPATH.docx
MODPATH.docx/classes
MODPATH.docx/classes/Docx.php
Код:
<?php defined('SYSPATH') OR die('No direct access allowed.');

class Docx extends Base_Docx { }

MODPATH.docx/classes/Base/Docx.php
Код:
<?php defined('SYSPATH') OR die('No direct access allowed.');

 abstract class Base_Docx {
   
    public $a;
    public $b;
   
    public static function summ(){
        return $a + $b;
    }
}


Я подключил модуль в bootstrap.php и пытаюсь работать с этим модулем вот так:
Код:
$docx = new Docx();
                $docx->a = 5;
                $docx->b = 2;
               
                $this->template->footer = $docx->summ;

И у меня возникает вышеуказанная ошибка ErrorException [ Fatal Error ]: Class 'Base_Docx' not found.
Где я накосячил?

_________________
Они плакали и кололись, но продолжали есть кактус!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2013, 15:57 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
скорее всего дело в том, что метод всего 1 и он статичный + ошибки в его вызове, а в структуре вроде ошибок нет

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2013, 17:40 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 апр 2013, 14:09
Сообщения: 162
Кохана была права, этого файла действительно там не было. Нечаянно отключил в IDE функцию автоматической выгрузки на FTP-сервер проекта.
UPD1
Все заработало! Складывает числа мой модуль)

_________________
Они плакали и кололись, но продолжали есть кактус!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 авг 2013, 23:42 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 апр 2013, 14:09
Сообщения: 162
Итак, теперь я хочу сделать проверочную страницу у этого модуля. Делаю это так:
1.Изменяю структуру каталогов и файлов след. образом
MODPATH.docx
MODPATH.docx/classes
MODPATH.docx/classes/Base
MODPATH.docx/classes/Base/Docx.php
Код:
<?php defined('SYSPATH') OR die('No direct access allowed.');

 abstract class Base_Docx {
   
    public $a;
    public $b;
   
    public function summ(){
        return $this->a + $this->b;
    }
}

MODPATH.docx/classes/Controller
MODPATH.docx/classes/Controller/Docx.php
Код:
<?php defined('SYSPATH') OR die('No direct access allowed.');

class Controller_Docx extends Controller_Template{
   
    public static function before() {
        parent::before();
        $this->template = View::factory('testModule');
    }

    public function action_index(){
        /*$this->a = $_POST['a'];
        $this->b = $_POST['b'];*/
       
        $this->template->summ = '$summ';
    }
}

MODPATH.docx/classes/Docx.php
Код:
<?php defined('SYSPATH') OR die('No direct access allowed.');

class Docx extends Base_Docx { }

MODPATH.docx/view
MODPATH.docx/view/testModule.php
Код:
<h3>Страница проверки работы модуля KohanaDocx</h3>
<p><?=$summ?></p>

MODPATH.docx/init.php
Код:
<?php defined('SYSPATH') or die('No direct script access.');

Route::set('docx', '<docx>(/<action>)')
   ->defaults(array(
      'controller' => 'docx',
      'action'     => 'index',
   ));


Когда модуль включен, невозможно зайти ни на одну страницу, код ошибки: 500.
Выключаю модуль в бутстрапе и все опять работает.

_________________
Они плакали и кололись, но продолжали есть кактус!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 авг 2013, 14:32 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
$this->template->summ = '$summ'; wtf?!

а по факту скорее всего роут не алё

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 авг 2013, 16:40 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 апр 2013, 14:09
Сообщения: 162
Цитата:
$this->template->summ = '$summ'; wtf?!

Это просто вывод строки для проверки.
На счет роута, надо бы проверить.

_________________
Они плакали и кололись, но продолжали есть кактус!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2013, 21:44 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 02 апр 2013, 16:26
Сообщения: 474
Откуда: Сергиев Посад
ты натолкнул меня на мысль сделать песочницу для испытания роутов.
основная идея в Route::get($name)->matches(Request::factory($uri)).

_________________
Майкл Джордан играет в баскетбол. Чарльз Мэнсон убивает людей. Я пишу код. У каждого свой талант.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 сен 2013, 13:31 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
WinterSilence писал(а):
ты натолкнул меня на мысль сделать песочницу для испытания роутов.
основная идея в Route::get($name)->matches(Request::factory($uri)).


Основные идеи можешь подчеркнуть тут: https://github.com/bluehawk/devtools
Кстати, инструмент тестирования роутов можно было бы создать доступным для всех, например как онлайн сервис ;)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group