[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MY_Controller CodeIgniter
dron4ik
Раньше как то не встречался с такой задачей, Подскажите кто чем может)))

есть MY_Controller розширяет CI_Controller

MY_Controller используется в всех контроллерах сайта как родительский...

Для отдельной части сайта, нужен новый контролер в качестве родительского который в свою очередь будет унаследовать MY_Controller...
назовем его MY_Contrrr) и положим в core
итак class User extends MY_Contrrr
не видит его

Просто создать его у меня не получается, а перезаписать или дублировать не охота, ибо много в нем)

Доки в этом плане какие то слабые)
Шуршал по всем сайтам с первых трёх страниц гугла)

И доп вопрос, CI не использует _autoload()?
И можно ли научить? и стоит ли?

_____________
Ex3m.com.ua — Активный образ жизни
Winston
Цитата (dron4ik @ 11.10.2012 - 22:24)
итак class User extends MY_Contrrr
не видит его

А в User ты написал?

public function __construct()
{
parent::__construct();
}

И в MY_Controller тоже так же напиши

"MY_Contrrr"... опечатка?
Winston
Цитата (dron4ik @ 11.10.2012 - 22:24)
И доп вопрос, CI не использует _autoload()?
И можно ли научить? и стоит ли?

Для какой цели тебе это нужно?
Может в CI уже есть функционал который тебе нужно
forza
По скольку CI очень старый фреймворк, то у него свой загрузчик классов реализован. __autoload не используется. Научить можно. В интернете куча разных способов. Например создать свою функцию __autoload() и запихнуть ее куда нибудь. Либо контроллер запихнуть в папку libraries. Но это все обходные пути. Причем больше похожи на костыли.
Вообще, поняв как работает CI, написав 1-2 проекта на нем, нужно переходить на более солидные. Например: Yii, Symfony

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
dron4ik
Winston
А в User ты написал?

Да написал...



Я хочу сделать заглушку для отдельной части сайта, и думал сделать на уровне конструктора родительского класса

"MY_Contrrr"... опечатка?
так как MY_Controller уже существует, и розширяет основной класс CI_Controller
Название произвольное

_____________
Ex3m.com.ua — Активный образ жизни
forza
Вот решение вашей проблемы
http://codeigniter.com/forums/viewthread/173797/

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
Winston
Цитата (dron4ik @ 11.10.2012 - 23:01)
так как MY_Controller уже существует, и розширяет основной класс CI_Controller
Название произвольное

Не понял...
MY_Contrrr - это у тебя еще один такой контроллер? Так тогда и наследуй User от него..
dron4ik
Цитата (forza @ 11.10.2012 - 19:59)
По скольку CI очень старый фреймворк, то у него свой загрузчик классов реализован. __autoload не используется. Научить можно. В интернете куча разных способов. Например создать свою функцию __autoload() и запихнуть ее куда нибудь. Либо контроллер запихнуть в папку libraries. Но это все обходные пути. Причем больше похожи на костыли.
Вообще, поняв как работает CI, написав 1-2 проекта на нем, нужно переходить на более солидные. Например: Yii, Symfony

libraries - все таки не совсем логично верное, и тот же костыль)
Я понимаю что можно и в индексный запихнуть, но логически также не верно)

Хочу сделать хотя бы один проект строго на возможностях FW не отступая)))

а CI мне нравится своей простотой и легкостью, в сравнении с коханой к примеру( оно мне тоже нравится )


Мой вопрос чисто теоретический, ибо приинклюдить файл я в силах, просто хочу знать как на сеё ФВ такое будет верным)

_____________
Ex3m.com.ua — Активный образ жизни
dron4ik
Цитата (forza @ 11.10.2012 - 20:03)
Вот решение вашей проблемы
http://codeigniter.com/forums/viewthread/173797/

Это будет правильно с логики самого фреймворка?

_____________
Ex3m.com.ua — Активный образ жизни
dron4ik
Цитата (Winston @ 11.10.2012 - 20:03)
Не понял...
MY_Contrrr - это у тебя еще один такой контроллер? Так тогда и наследуй User от него..

есть папка core. в ней файлы расширяющие ядро, по логике если мы хотим расширить базовый функционал Controller под названием CI_Controller мы должны создать класс MY_Controller -> extends CI_Controller

так вот, я хочу расширить MY_Controller родительским контроллером...

Который в свою очередь будет наследовать User и Profile и тд

_____________
Ex3m.com.ua — Активный образ жизни
forza
dron4ik
я вас прекрасно понимаю -) Сам сталкивался с такой проблемой. Решений не нашел кроме как было написано на том буржуйском форуме, да и впринципе правильного решения с точки зрения фреймворка вы не найдете.

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
dron4ik
Цитата (forza @ 12.10.2012 - 06:51)
dron4ik
я вас прекрасно понимаю -) Сам сталкивался с такой проблемой. Решений не нашел кроме как было написано на том буржуйском форуме, да и впринципе правильного решения с точки зрения фреймворка вы не найдете.

А жаль... еще один минус фреймворкам)))
Всем спасибо)

_____________
Ex3m.com.ua — Активный образ жизни
dron4ik
А может на денвере __autoload не работать????

_____________
Ex3m.com.ua — Активный образ жизни
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.