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
Форумы портала PHP.SU :: Версия для печати :: Не могу понять ООП
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Не могу понять ООП

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

1. mrBroot - 08 Апреля, 2014 - 16:46:58 - перейти к сообщению
Покажите путь истинный, изучаю php, много чего уже вышло из под моего пера, в основном небольшие скрипты на фрилансе... и везде я использовал процедурный подход... Сейчас начал изучать ООП, и вот незадача... я знаю как создавать классы, как наследоваться, что такое методы поля и свойства, что такое экземпляр класса, представляю что такое паттерны проектирования... но вот как правильно, как это должно выглядеть? Как правильно пользоваться всем вот этим... где можно посмотреть? Вообщем нехватает какой-то мелочи в моих знаниях...
2. 3d_killer - 08 Апреля, 2014 - 16:54:56 - перейти к сообщению
ООП не мелочь
3. OrmaJever - 08 Апреля, 2014 - 17:01:28 - перейти к сообщению
мне кажется самый простой и понятный пример где функции можно заменить на класс есть mysqli.
4. DelphinPRO - 08 Апреля, 2014 - 18:04:59 - перейти к сообщению
mrBroot пишет:
Вообщем нехватает какой-то мелочи в моих знаниях...

Ага, совсем немножко Улыбка всего-то 500 с небольшим страниц из книги "PHP. Объекты, шаблоны и методики программирования" Мэтта Зандстры

Голливудская улыбка
(Добавление)
вот, я даже не поленился, ссылочку вам нашел на эту книжку
http://www[dot]ozon[dot]ru/context/detail/id/5648968/
5. mrBroot - 09 Апреля, 2014 - 07:26:42 - перейти к сообщению
DelphinPRO пишет:
вот, я даже не поленился, ссылочку вам нашел на эту книжку
http://www[dot]ozon[dot]ru/context/detail/id/5648968/


За ссылочку спасибо... у меня такая уже есть... вот Вам бесплатный вариант http://www[dot]proklondike[dot]com/books[dot][dot][dot]ra_PHP_2011[dot]html

Я вопрос задал, с целью хотя бы представить, как все это должно выглядеть... можно на обычном примере, авторизация пользователя... как я это представляю:

Класс, подключения к базе данных (синглтон), конструктор приватный, в нем собственно подключение и выбор базы... еще публичный статический метод, который проверяет создан ли объект класса, если нет, то создает объект и возвращает его, если да то возвращает существующий, пару методов с параметрами для выполнения запросов...

Класс проверки постов, в зависимости от типа данных, пришедших в глобальном массиве, производит манипуляции...

И вот как сделать дальше?! Предполагаю, написать интерфейс или абстрактный класс, от которого будут наследоваться классы для авторизации пользователя, при чем этот класс объединяет как авторизацию в админке, так и пользовательскую... различие между ними, это в способе вывода сообщения...

Тоесть, логика такая, классы вызываются в случае отсутствия сессии, если ее нет, то вызывается класс авторизации, в нем проверяются наличие данных в массиве пост, все это фильтруется и если посты не null, вызываем статичный метод подключения к базе данных, он нам возвращает объект класса, далее вызываем метод выбора из базы данных в зависимости. где параметрами будут данные из поста (пусть это будет логин), он нам вернет уже обработанный результат запроса (массив с данными), где мы сравниваем хеши паролей.. и если все нормально, то открываем сессию и присваиваем некоторое значение в сессии...

Но вот если пароли не совпадают, нам нужно вывести сообщение об этом, в админке оно будет просто выводится, распарсив HTML шаблон и заменив текст в поле <legend> филдсета самой формы авторизации... а вот как сделать на сайте... нужно чего то подменять.. как правильно????

Надеюсь понятно описал, моменты с исключениями проверками на ошибки и все такое опустил!!!
6. Edwvee - 09 Апреля, 2014 - 09:16:53 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. Класс, подключения к базе данных (синглтон), конструктор приватный, в нем собственно подключение и выбор базы... еще публичный статический метод, который проверяет создан ли объект класса, если нет, то создает объект и возвращает его, если да то возвращает существующий, пару методов с параметрами для выполнения запросов...
  2.  
  3. Класс проверки постов, в зависимости от типа данных, пришедших в глобальном массиве, производит манипуляции...
  4.  

Почему бы не разобрать работу хотя бы одного фреймворка в этом плане? Вполне себе пример будет.
7. DelphinPRO - 10 Апреля, 2014 - 00:46:20 - перейти к сообщению
mrBroot пишет:
у меня такая уже есть...

вы ее почитать попробуйте Улыбка
8. Stierus - 11 Апреля, 2014 - 20:40:36 - перейти к сообщению
Возьмите любой современный фреймворк и попробуйте на нем что-то написать (даже "hello world") - знаний прибавится

 

Powered by ExBB FM 1.0 RC1