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]   

> Описание: Нужна помощь в освоении
mrBroot
Отправлено: 08 Апреля, 2014 - 16:46:58
Post Id


Новичок


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


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




Покажите путь истинный, изучаю php, много чего уже вышло из под моего пера, в основном небольшие скрипты на фрилансе... и везде я использовал процедурный подход... Сейчас начал изучать ООП, и вот незадача... я знаю как создавать классы, как наследоваться, что такое методы поля и свойства, что такое экземпляр класса, представляю что такое паттерны проектирования... но вот как правильно, как это должно выглядеть? Как правильно пользоваться всем вот этим... где можно посмотреть? Вообщем нехватает какой-то мелочи в моих знаниях...
 
 Top
3d_killer
Отправлено: 08 Апреля, 2014 - 16:54:56
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


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




ООП не мелочь
 
My status
 Top
OrmaJever Модератор
Отправлено: 08 Апреля, 2014 - 17:01:28
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




мне кажется самый простой и понятный пример где функции можно заменить на класс есть mysqli.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DelphinPRO
Отправлено: 08 Апреля, 2014 - 18:04:59
Post Id



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


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


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




mrBroot пишет:
Вообщем нехватает какой-то мелочи в моих знаниях...

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

Голливудская улыбка
(Добавление)
вот, я даже не поленился, ссылочку вам нашел на эту книжку
http://www[dot]ozon[dot]ru/context/detail/id/5648968/


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
mrBroot
Отправлено: 09 Апреля, 2014 - 07:26:42
Post Id


Новичок


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


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




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> филдсета самой формы авторизации... а вот как сделать на сайте... нужно чего то подменять.. как правильно????

Надеюсь понятно описал, моменты с исключениями проверками на ошибки и все такое опустил!!!
 
 Top
Edwvee
Отправлено: 09 Апреля, 2014 - 09:16:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


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




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

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



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


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


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




mrBroot пишет:
у меня такая уже есть...

вы ее почитать попробуйте Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Stierus Супермодератор
Отправлено: 11 Апреля, 2014 - 20:40:36
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


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




Возьмите любой современный фреймворк и попробуйте на нем что-то написать (даже "hello world") - знаний прибавится
 
My status
 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