Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: объясните как получить данные из класса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
imediasun
Отправлено: 14 Ноября, 2014 - 16:44:35
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 605
Дата рег-ции: Авг. 2012  


Помог: 2 раз(а)

[+][+][+][+][+]


Здравствуйте, я понимаю что класс написан не правильно но объясните пожалуйста как надо чтобы функции были приватные и чтобы получить $ data обратившись к классу

PHP:
скопировать код в буфер обмена
  1.  
  2. class Filter extends CI_Controller
  3.  
  4. {
  5. //$data - массив с переменными, $name - начало имени файла вида
  6.         private $producers;
  7.         private $materials;
  8.         private $styles;
  9.         public function __construct()
  10.         {
  11.         parent:: __construct();
  12.         $this->load->model('producers_model');
  13.         $this->load->model('materials_model');
  14.         $this->load->model('styles_model');
  15.     }  
  16.         public function index(){
  17.         $data['producers']=$this->producers;
  18.         $data['materials']=$this->materials;
  19.         $data['styles']=$this->styles;
  20.         return $data;
  21.         }
  22.         private function producer()
  23.         {
  24.         $this->producers=$this->producers_model->get();
  25.         }              
  26.         private function material()
  27.         {
  28.         $this->materials=$this->materials_model->get();
  29.         }
  30.         private function style()
  31.         {
  32.         $this->styles=$this->styles_model->get();      
  33.         }
  34. }
  35.  
 
 Top
Panoptik
Отправлено: 14 Ноября, 2014 - 17:15:01
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




а зачем вы руками вызываете метод контроллера, который как экшн должен вызываться сам?


-----
Just do it
 
 Top
LIME
Отправлено: 14 Ноября, 2014 - 20:27:51
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




PHP:
скопировать код в буфер обмена
  1. public function __construct() {
  2.         parent:: __construct();
  3.         $this->producers = $this->load->model('producers_model');
  4.         $this->materials =  $this->load->model('materials_model');
  5.         $this->styles = $this->load->model('styles_model');
  6.     }

конечно выше все верно сказано
но исходя из кода
в порядке бреда
почему нет?
хотя без умения дебажить наверное не пойдет
(Добавление)
а глядя на приватные методы вообще
PHP:
скопировать код в буфер обмена
  1. public function __construct() {
  2.         parent:: __construct();
  3.         $this->producer();
  4.         $this->material();
  5.         $this->style();
  6.     }
да
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB