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 » PHP » Программирование на PHP » ООП

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

1. Артком - 09 Июля, 2010 - 15:33:54 - перейти к сообщению
Здравствуйте!
Есть задача - написать сайт и одновременно интернет магазин. Опыт программмирования на PHP не большой. Раньше приходилось писать только отдельные кусочки кода. Не могу решить что использовать - старндартный подход или ООП, раньше с ООП никогда не сталкивался. Почитал информацию по ООП, немного понял суть, но не понимаю, чем такой подход может мне помоч, есть ли смысл мучиться. Честно говоря никогда не приходилось писать интернет магазин, поэтому возникает вопрос, как лучше зделать, чтоб в дальнейшем было как можно проще масштабировать проект, ведь пишу для организации в которой работаю, - хочется на совесть.
И, если не тяжело, привидите пример, как можно использовать ООП для моей цели, к примеру, для отображения товара на странице сайта и сравнение товаров.
2. JustUserR - 10 Июля, 2010 - 04:07:10 - перейти к сообщению
Артком пишет:
Почитал информацию по ООП, немного понял суть, но не понимаю, чем такой подход может мне помоч, есть ли смысл мучиться
Можете для примеру посмотреть исходные PHP-коды каких-нибудь CMS интернет-магазинов которые основываются на ООП-подходе или работают без него - в таком случае вы можете увидить практическое различие между ними и оценить удобство для себя Учтите что ООП это вовсе не чистое использование классов свойств и методов заместо переменных и функций - и хотя это позволяет использовать пространства имен в PHP но не является настоящим PHP-подходом
3. Артком - 10 Июля, 2010 - 15:06:29 - перейти к сообщению
Да в том то и дело, что не хочу передирать у кого то, просто интересует мнение людей, которые, вероятно, с этим ранее сталкивались.
Принцыпиальных отличий между ООП и классикой не вижу, наверно потому, что еще слабо знаком с ООП. Вот и надеялся услышать доводы в ту или другую степь, все ведь сразу не продумать.
4. ALEN - 10 Июля, 2010 - 16:02:32 - перейти к сообщению
Артком
Скорее маленький опыт работы. Вообще в крупных проектах без ООП ни как, но нужно понимать где он нужен, а где нет.
5. Артком - 10 Июля, 2010 - 17:18:21 - перейти к сообщению
ALEN пишет:
Артком
Скорее маленький опыт работы. Вообще в крупных проектах без ООП ни как, но нужно понимать где он нужен, а где нет.

Собственно, по этому и поднята тема.
6. ALEN - 10 Июля, 2010 - 17:35:09 - перейти к сообщению
Артком
Ну это вы должны решать использовать или нет, т.к. я раньше писал так, что мне не нужно было использование ООП вообще, сейчас задача усложнилась + решил упростить отслеживание кода и т.д.

Вот например присоединяем конфигурационные файлы...
Раньше я не использовал например кэширование, а сейчас использую, вот например логика:

Сначала проверяем нужно и возможно ли кэшировать данные:
- если да, то проверяем есть ли в кэше и выводим если есть, если нет вычисляем и кэшируем
- если нет, то просто вычисляем

Логика думаю ясна, 2 раза возможно описания вычислений однихи тех же данных, для этого выносим в класс.
Конечно можно и функцией обойтись, но бывает момент, что функция не удобна для использования.
Приведу примитивный пример:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $cached_on='1'; // можно ли кешировать
  3. if($cached_on=='1'){
  4. $array=cached(); // получаем данные из кэша
  5. if(isset($$array)==FALSE){ // проверяем нормальные данные получили или нет, если нет, то определяем
  6. $array[1]=123;
  7. $array[2]=123;
  8. $array[3]=123;
  9. $array[4]=123;
  10. $array[5]=123;
  11. $array[6]=123;
  12. тут запишем в кэш
  13. }
  14. } else {
  15. $array[1]=123;
  16. $array[2]=123;
  17. $array[3]=123;
  18. $array[4]=123;
  19. $array[5]=123;
  20. $array[6]=123;
  21. }
  22. ?>


представим что функция это наш ооп:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function arrays(){
  3. $array[1]=123;
  4. $array[2]=123;
  5. $array[3]=123;
  6. $array[4]=123;
  7. $array[5]=123;
  8. $array[6]=123;
  9. return $array;
  10. }
  11.  
  12. $cached_on='1'; // можно ли кешировать
  13. if($cached_on=='1'){
  14. $array=cached(); // получаем данные из кэша
  15. if(isset($$array)==FALSE){ // проверяем нормальные данные получили или нет, если нет, то определяем
  16. $array=arrays();
  17. тут запишем в кэш
  18. }
  19. } else {
  20. $array=arrays();
  21. }
  22. ?>


Думаю логика понятна. особенно если обработка очень сложная!
7. JustUserR - 12 Июля, 2010 - 14:38:29 - перейти к сообщению
Артком пишет:
Принцыпиальных отличий между ООП и классикой не вижу, наверно потому, что еще слабо знаком с ООП
Принципиальное различие как раз-таки проявляется в основных принципах ООП - это инкапсуляция которая позволяет объединять данные и функции в логические блоки и ограничивать доступ к ним - это наследование которое позволяет использовать старую или более общую функциональность для создания новой или более частной соответственно - а также полиморфизм который является основой создания интерфейсом когда использование объекта снаружи в различных случаях остается одинаковым вне зависимости от внутреннего строения
8. Артком - 20 Июля, 2010 - 21:53:13 - перейти к сообщению
спасибо, вопрос решен.

 

Powered by ExBB FM 1.0 RC1