Форум → Программирование → PHP для идиотов → PHP и ООП → передать параметр в конструктор модели (code igniter) или растолкуйте правильно
передать параметр в конструктор модели (code igniter) или растолкуйте правильно
- 
                    
                    
                        Собственно сабж. Смотрю данный фреймворк.
 Основная единица предметной области — устройство.
 Создал модель Device_model. По логике (как я понимаю), каждый объект этой модели в моём приложении будет конкретным устройством. Тогда хотелось бы при загрузке передавать идентификатор или уникальное имя устройства. Но загрузчик модели не предоставляет такой возможности.
 Или же я не так понимаю модель? Где мне тогда замутить класс Device со всеми его пропертями и методами? Как заюзать грамотно?
- 
                    
                    
                         Сен. 17, 2012, 8:23 п.п., спустя 3 часа 31 минуту 9 секунд
                                    
                                Расширь стандартный класс модели.Спустя 123 сек.А хотя лучше перепиши лоадер, в том месте где грузятся модели. Сен. 17, 2012, 8:23 п.п., спустя 3 часа 31 минуту 9 секунд
                                    
                                Расширь стандартный класс модели.Спустя 123 сек.А хотя лучше перепиши лоадер, в том месте где грузятся модели.
- 
                    
                    
                         Сен. 17, 2012, 10:33 п.п., спустя 2 часа 10 минут 17 секунд
                                    
                                indeego, в рамках данного фрейморка это лучшее решение? Сам с ним недавно работаю (как и с MVC вообще). Сен. 17, 2012, 10:33 п.п., спустя 2 часа 10 минут 17 секунд
                                    
                                indeego, в рамках данного фрейморка это лучшее решение? Сам с ним недавно работаю (как и с MVC вообще).
 да, и про MVC ещё хотелось бы определиться: вот есть объект Device и его конкретные всегдашние атрибуты и методы (вроде ORM это называет — данная модель будет знать какие атрибуты как крудятся в базе). А также понадобятся методы для пакетной работы со множеством объектов типа Device, и тогда выходит зря я хочу инициализировать модель к конкретным id? Как это увязать с моделями на примере CI?
- 
                    
                    
                         Сен. 18, 2012, 11:14 д.п., спустя 12 часов 41 минуту 30 секунд
                                    
                                не, там нет такого. походу переписывать загрузчик надо, добавить параметр в load->model(), и пихать туда параметр для конструктора. Сен. 18, 2012, 11:14 д.п., спустя 12 часов 41 минуту 30 секунд
                                    
                                не, там нет такого. походу переписывать загрузчик надо, добавить параметр в load->model(), и пихать туда параметр для конструктора.
- 
                    
                    
                         Сен. 18, 2012, 3:20 п.п., спустя 4 часа 5 минут 22 секунды
                                    
                                s_s, Вот я и говорю запили MY_Loader.php и сунь в папку своего аппликейшена. Сен. 18, 2012, 3:20 п.п., спустя 4 часа 5 минут 22 секунды
                                    
                                s_s, Вот я и говорю запили MY_Loader.php и сунь в папку своего аппликейшена.
- 
                    
                    
                         Сен. 18, 2012, 4:02 п.п., спустя 42 минуты 33 секунды
                                    
                                ОК, спасибо, indeego! Сен. 18, 2012, 4:02 п.п., спустя 42 минуты 33 секунды
                                    
                                ОК, спасибо, indeego!
 А кто-нибудь юзал ORM Propel? Или какой ORM посоветуете использовать (или не использовать) в модели? Я ведь верно понимаю, что объект класса модели – это по сути ООП-шное отображение предмета со всеми свойственными ему атрибутами и методами из предметной области? А для облегчения работы со значениями атрибутов (которые хранятся в БД) и нужно ORM тут.
 PS: Мужики, ну потерпите пожалуйста немного, очень в MVC въехать хочется)))
- 
                    
                    
                         Сен. 19, 2012, 4:57 п.п., спустя 1 день 55 минут
                                    
                                1). Ну давай, ебани реализацию MVC из функций, без наследования классов, создания объектов, инкапсуляции, хотелось бы посмотреть. Сен. 19, 2012, 4:57 п.п., спустя 1 день 55 минут
                                    
                                1). Ну давай, ебани реализацию MVC из функций, без наследования классов, создания объектов, инкапсуляции, хотелось бы посмотреть.
 2). Сам хуй.
 3). Если действительно интересно, то можешь сравнить:
 http://ru.wikipedia.org/wiki/ActiveRecord
 и
 http://codeigniter.su/database/active_record.html
 в CI выходят те же запросы, только через жопу, а не объект = значение из БД. А когда есть возможность заюзать что-то вроде
 <?php
 /* initialize Propel, etc. */
 $author = new Author();
 $author->setFirstName('Jane');
 $author->setLastName('Austen');
 $author->save();
 echo $author->getId(); // 1
 echo $author->getFirstName(); // 'Jane'
 echo $author->getLastName(); // 'Austen'
 а не тучу самописных методов вроде
 public function getFirstName(){
 $query = $this->db->get_where('autors', array('id' => $this->id));
 $data = $query->result() ;
 return $this->FirstName = $data->FirstName;
 }
 которые один фиг имитируют работу того же ORM, которого в CI нет.
- 
                    
                    
                         Сен. 20, 2012, 4:53 д.п., спустя 11 часов 56 минут 4 секунды
                                    
                                s_s, переходи на джангу, там ваще нихуя писать не надо никаких методов в моделях, тупо все уже придумано. Но в любой момент можешь по своему желанию модернизировать. Сен. 20, 2012, 4:53 д.п., спустя 11 часов 56 минут 4 секунды
                                    
                                s_s, переходи на джангу, там ваще нихуя писать не надо никаких методов в моделях, тупо все уже придумано. Но в любой момент можешь по своему желанию модернизировать.
- 
                    
                    
                         Сен. 20, 2012, 10:12 д.п., спустя 5 часов 19 минут 2 секунды Сен. 20, 2012, 10:12 д.п., спустя 5 часов 19 минут 2 секунды
 s_s, переходи на джангу, там ваще нихуя писать не надо никаких методов в моделях, тупо все уже придумано. Но в любой момент можешь по своему желанию модернизировать.
 звучит конечно заманчиво, но блин, это же надо сначала синтаксис питона учить, а потом уже с джангой связываться. хотя может оно того и стоит.
 ну блин, да и похапе это ж похапе, такое родное и ни с чем не сравнимое))
- 
                    
                    
                         Сен. 20, 2012, 11:48 д.п., спустя 1 час 35 минут 9 секунд
                                    
                                s_s, заманчиво не то слово. Там еще и админка автоматом генерится, причем человеческая. Я вот уже решил что буду переходить на питон. А если по теме, есть такая штука - sparks называется. Это наворот для кодыгнайтера. http://getsparks.org/ вот тут подробности. И вот тебе уже готовый ОРМ http://getsparks.org/packages/redbean/versions/HEAD/show Сен. 20, 2012, 11:48 д.п., спустя 1 час 35 минут 9 секунд
                                    
                                s_s, заманчиво не то слово. Там еще и админка автоматом генерится, причем человеческая. Я вот уже решил что буду переходить на питон. А если по теме, есть такая штука - sparks называется. Это наворот для кодыгнайтера. http://getsparks.org/ вот тут подробности. И вот тебе уже готовый ОРМ http://getsparks.org/packages/redbean/versions/HEAD/show
- 
                    
                    
                         Сен. 20, 2012, 1:21 п.п., спустя 1 час 33 минуты 12 секунд Сен. 20, 2012, 1:21 п.п., спустя 1 час 33 минуты 12 секунд
 s_s, заманчиво не то слово. Там еще и админка автоматом генерится, причем человеческая. Я вот уже решил что буду переходить на питон. А если по теме, есть такая штука - sparks называется. Это наворот для кодыгнайтера. http://getsparks.org/ вот тут подробности. И вот тебе уже готовый ОРМ http://getsparks.org/packages/redbean/versions/HEAD/show
 "Кодь меньше, бухай больше", бугага)) Не знал про эту штуку.
 А вот redbean похоже в тему, спасибо огромное! Похоже то что надо!
- 
                    
                    
                         Сен. 20, 2012, 4:23 п.п., спустя 3 часа 2 минуты 13 секунд Сен. 20, 2012, 4:23 п.п., спустя 3 часа 2 минуты 13 секунд
 1). Ну давай, ебани реализацию MVC из функций, без наследования классов, создания объектов, инкапсуляции, хотелось бы посмотреть.
 MVC это не наследие классов и создание объектов, это скорее схема разделения логики, ее можно реализовать и процедурно…
- 
                    
                    
                         Сен. 20, 2012, 5:38 п.п., спустя 1 час 14 минут 28 секунд Сен. 20, 2012, 5:38 п.п., спустя 1 час 14 минут 28 секунд
 Ну на самом деле не все так безоблачно, ибо админка:
 s_s, заманчиво не то слово. Там еще и админка автоматом генерится, причем человеческая.
 1. Древняя, не аджаксовая, вкусных виджетов мало, имеет ограничения.
 2. SQL запросов очень много, при сложных задачах изрядно тормозит.
 3. Ну и как всегда, когда надо что-то нестандартное (а в серьезных проектах всегда все нестандартное) - допиливание соизмеримо по трудозатратам с разработкой всего самому.
- 
                    
                    
                         Сен. 20, 2012, 5:56 п.п., спустя 18 минут 19 секунд
                                    
                                AlexB, идеального ничего не бывает, это понятно. Любое решение компромисс между качественно/быстро/недорого. Сен. 20, 2012, 5:56 п.п., спустя 18 минут 19 секунд
                                    
                                AlexB, идеального ничего не бывает, это понятно. Любое решение компромисс между качественно/быстро/недорого.
 За конкретные минусы спасибо, буду иметь в виду.
Пожалуйста, авторизуйтесь, чтобы написать комментарий!
 
         
                                     
                                     
                                    