ТС про Вас есть "поговорка": не читал, но осуждаю.
Да-да стак оверфлоу кишит вопросами перформанса array VS object. Там уже кучу тестов провели и знаете кричать "О, боже! Если сделать 1000 итераций, то ООП код отрабатывает на 0.001 сек дольше! ООП - шлак! Хватайте факелы и вилы!"
короче глупо это.
Если купите синезубую клаву, то подойдет любой планш, кроме ipad.
У самого ipad mini - так и не нашел нормального редактора, хоть бы notepad++ или sublime. + не поставить mysql, nginx. php - видел в каком-то редакторе можно было консольные скритпы запускать.
Если у Вас есть необходимость в этом, то Вы плохо продумали архетиктуру.
Спросите себя зачем делать метод приватным, если он был защишенным?
Предположим у нас есть класс DB в котором происходит подключение к базе данных, от него наследуются абстракция Model. В DB есть метод ::connect() который собсно и выполняет подключение. Мы используем его в MModel, и тут появляется вопрос: дальше когда модели наследуются от Model давать доступ к этому методу не правильно. Хотим сделать его приватным получаем - бугурт, что так делать низя.
Решение это задачи:
Думаем головой, понимаем, что Model не должно наследоваться от DB - профит.
Теперь у нас есть абстакция Model которая принимает объект Db и все.
Не совсем "хороший" пример с ПДД, ведь их выучил и свободен, а с программированием увы не так
А что не так-то? В программировании тоже выучил и свободен. И в ПДД и в программировании только опыт поможет понять, что и как, но если Вы не понимаете основ, то все тлен.
Первая строка ТС:
wedoca пишет:
Помогите пожжжалуйста новичку в ООП.
Рассказать как собрать в кучу - это одно, помочь с ООП это другое. По-этому Я и написал:
tato пишет:
По хорошему что бы было ООП, надо разделить все это дело на объекты подумать над инкапсуляцией, сделать абстракцию для моделей, вынисти подключение к бд в отдельный класс(ы) и т.д.
Именно новичку и нужно задумываться о таких вещах, т.к. опытные на автомате прорабатывают это все
[^/]+ - один или более символов отличных от "/"
\. - точка (сама по себе точка обозначает любой символ, в данном случае она экранирована слешем и означает символ точки)
html - строгое совпадение "html"
~ - конец патерна
Активно используем renderPartial в таком случае собираем форму по частям, можно прикрутить фильтр к контроллерам который будет вычислять статус пользователя и менять поведение сбора форм.
Так же в конфиге приложения можно задать директорию где лежат представления модуля
В коде выше мы сначала подключили файл с классом Model, далее создали его экземпляр ($model = new Model;) и в конце вызвали метод elementID()
По хорошему что бы было ООП, надо разделить все это дело на объекты подумать над инкапсуляцией, сделать абстракцию для моделей, вынисти подключение к бд в отдельный класс(ы) и т.д.
Если много ифов получается, то делать "дубликат", если парочка, то можно и один.
Можно часть в виджеты перенести, например генерацию меню, что бы в шаблон вставить, что-то такое widget( 'Menu', $params ); и все, а уже в самом виджете рулить по обстановке.
и если я добавлю 1 поле в таблицу,то будет писец?.
А сделайте модель для таблицы, с перечислением полей, а где нужно дергайте через метод этой модели, например Post::inst()->getAllFields(), а при добавлении нового поля в таблицу добовляете описание этого поля в модель и все.