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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
eai
Отправлено: 01 Ноября, 2010 - 11:22:36
Post Id



Частый посетитель


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


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




Выделено в отдельную тему из темы "Вопрос программистам!"
ООП это то что дает экономию времени, читабельность и модификабельность кода.
WEB становиться платформой для разработки серьезных приложений и принципы скриптовых языков уже не приемлемы (но допустимы для малых проектов).
А уж быстрее оно или медленнее, не важно.
Даже если и медленнее на ПХП оно, то разница не значительно. Куда как большую разницу даст грамотное написание кода и оптимизация SQL.
Мое мнение такое. Пора WEB разработчикам использовать OOP.
Те кто не научиться, останутся "за бортом корабля".

P.S.
Лично обучил ООП 2х PHPников матерых. Люди офигивали от того насколько быстро и красиво можно писать код используя наследование и перегрузку методов.


Отредактировано модератором: JustUserR, 01 Ноября, 2010 - 15:59:52
Произвел выделение сообщений в отдельную ветвь дискуссии - по причине открытия устарвшей темы
 
 Top
Viper
Отправлено: 01 Ноября, 2010 - 12:18:42
Post Id



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


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


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




Выделено в отдельную тему из темы "Вопрос программистам!"
eai пишет:
принципы скриптовых языков уже не приемлемы

поясните!

eai пишет:
Пора WEB разработчикам использовать OOP

каким образом? в любом языке можно применять ООП, а можно и не применять. каким макаром вы отнесли приемы к технологиям?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Варяг
Отправлено: 01 Ноября, 2010 - 13:10:51
Post Id



Новичок


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


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




Выделено в отдельную тему из темы "Вопрос программистам!"
eai благодарю. Для меня PHP это хобби, интересно сделать чтонибудь действительно интересное с применением ООП. Что можете сказать насчет серьезных приложений
eai пишет:
WEB становиться платформой для разработки серьезных приложений и принципы скриптовых языков уже не приемлемы (но допустимы для малых проектов).

Что значит, кроме многомодульности, серьезность? Размер кода и количество участников(программистов)? Относится ли доска объявлений, интернет магазин к серьезным проектам?

eai пишет:
А уж быстрее оно или медленнее, не важно.

не согласен, большой проект соответственно направлен на большую аудиторию, большое количество запросов отнимает много ресурсов. (останемся каждый при своем мнении Радость )
 
 Top
JustUserR
Отправлено: 01 Ноября, 2010 - 16:06:58
Post Id



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


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


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




eai пишет:
Мое мнение такое. Пора WEB разработчикам использовать OOP
В основе языка PHP расположена концепция динамического программирования - для которой исходя из ее определения не возможно обеспечение полного ее сочетания с принциами структиризированного программирования таких как ООП Дело в том что изначальная пересылка информационных полей по HTTP-протоколу подразумевает приведение в строковое представление тех данных - которые в изначальной форме являются элементами исполняемого контекста программы - таким образом языки web-программирования в первую очередь включают средства позволяющие осуществить перевод элементов из различных уровней трактования с включением его в динамический момент времени


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
eai
Отправлено: 02 Ноября, 2010 - 08:40:04
Post Id



Частый посетитель


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


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




Вау, тема отдельная стала. Уж и не знаю плакать или радоваться.

По порядку.
ту Вайпер.
Изначально скриптовые языки (включая ПХП) не имели ничего общего с ООП.
На момент их рождение куда как важнее было строить страницы состоящие из ХТМЛ кода и небольшой части динамики. Данное состояние подталкивало к прямому писанию кода (даже с забиванием на функции), так как большая часть проектов представляла собой странички где код прописывался персонально для страницы. С ростом скоростей инета сайты стали усложняться, но как известно привычка дело заразное. Принципы что построения приложений были те же. В это время системы разработчики "дескктопного" уровня уже не понимали как это раньше софт писали без компонент ... Но произошло следующие (происходит). Оказалось что несмотря на развитость систем десктопного базирования, сетевое софт основанный на WEB это круто. Люди принимающие решение какой софт купить заказать или разработать знают что декстопное приложение это гемор. И ОС подавай какую надо дорогую и антивирус обновляй, про обновление приложений самих и несовместимость библиотек я вообще молчу. Вообщем все с улюлюканиями и радостными возгласами ринулись в эпоху вэба, и с чувством глубокого удовлетворения встречают всякие iPad и ChromeOS.
Но тут возникла неожиданная проблема. Оказалось что те кто писал всякие десктопы, никак не могут взять в толк как это вообще работает вэб приложение. Где понимаешь мой контекст и индивидуальное адресное пространство с эксклюзивным доступом к процессору.
(Случай произошел со мной 7 лет назад. Заспорили мы как то что круче PHP+MySQL или Java+Oracle. Спор по сути глупый, но схватились не на шутку. Тут же было дано задание в отдел жаб сделать тестовое вэб приложение и аналогичное вэбщикам. Вэбщики выйграли 1000:1. Самое смешное что это произошло не потому что ПХП и мускул круче жабы с ораклом, а потому что явщики использовали методы написания кода как для десктопного приложения.)
Ну так возвращаюсь так сказать к вопросу. Хм, сказали манагеры, если низя эффективно использовать старых программеров, то надо нанять вэбщиков которые сайты делают и они то нам огого как понапишут. Бросили вакансии и пошли отклики, да не просто а сотнями и один краше другого. И у всех в резюме понаписано ООП всякое, да и денех не сильно просят. Обрадовались манагеры, и давай нанимать и проекты затеивать. Бля (извините) начинают быстро а потом вязнут. И друг с другом договориться не могут, один не понимает что другой написал.
(Опять таки личный случай из 2010 года. Нанял я программера на ПХП, на собеседовании определения полиформизма от зубов отскакивали. Посадил и грю, сделай ка мне объект чтоб ему таблицы указывать а он сам данные JSON фигачел на клиента. Че сказал он. Лано сказал я и даю ему через пару дней код DataSet с примерами. Наследуйся и делай мне форму Клиентов, Товаров ....
Не парься со страницами, сортировками и фильтрами, класс сам усе понаделает. Алилуя сказал он и почесал работать. Бодро так. Стали формы появляться и с данными и даже работали.
Через неделю сел я значит посмотреть что он там такое творить. И о мама. Вместо наследования он стал добавлять в мой класс методы, да какие getCleintsJSON, getItemsJSON ... зову я его и грю, Саша ты седня вот вещи собирай а завтра не приходи на работу.)
Ой что то разговорился я, видимо наболело. Я это все к тому, что нужно брать из всех систем хорошее и нужно и совмещать делая лучшие продукты. И с этим реально тяжело.
Ну есть среди разработчиков и исключения. Ну их мало к сожалению или как минимум недостаточно.

Извините за сумбур, тема для меня просто больная


ту Варяг
Большой проект это тот где кода много.
И инет магазин и доску объявлений можно по разному сделать.
Раз для вас это хобби то смело используйте ООП!


ту JustUserR
Все верно, однако так же верно и то что именно программист выбирает стиль написания
кода. И в его силах построить код на принципах ООП Подмигивание

(Отредактировано автором: 02 Ноября, 2010 - 08:51:21)

 
 Top
Варяг
Отправлено: 02 Ноября, 2010 - 11:54:20
Post Id



Новичок


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


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




eai пишет:
Большой проект это тот где кода много.

Улыбка вот я начал писать скрипт, в нем уже есть 1000 строк кода, будет еще тысячи 3 - большой ли это проект?

(Отредактировано автором: 02 Ноября, 2010 - 11:54:56)

 
 Top
eai
Отправлено: 02 Ноября, 2010 - 12:29:15
Post Id



Частый посетитель


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


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




Варяг пишет:
eai пишет:
Большой проект это тот где кода много.

Улыбка вот я начал писать скрипт, в нем уже есть 1000 строк кода, будет еще тысячи 3 - большой ли это проект?


Нет не большой. Хотя что за манера мерять размер проектов строками.
Кто знает что вы пишите может вы массивы инициализируете ;)
$a[1] =1;
$a[2] =2;
...
$a[1000] =1000;
 
 Top
Варяг
Отправлено: 02 Ноября, 2010 - 15:23:06
Post Id



Новичок


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


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




eai Радость нет, не массивы. ООП уже пробовал, но многое не понятно. в частности сам процесс разбивания на методы, а еще менее понятно наследование. Ниндзя
 
 Top
eai
Отправлено: 02 Ноября, 2010 - 15:29:54
Post Id



Частый посетитель


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


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




Варяг пишет:
eai Радость нет, не массивы. ООП уже пробовал, но многое не понятно. в частности сам процесс разбивания на методы, а еще менее понятно наследование. Ниндзя

Дык это, надо читать документацию, а лучше учебник. Считаю Страуструпа с его С++ лучшим учебником.
 
 Top
JustUserR
Отправлено: 02 Ноября, 2010 - 17:25:06
Post Id



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


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


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




eai пишет:
Все верно, однако так же верно и то что именно программист выбирает стиль написания кода. И в его силах построить код на принципах ООП
Возможность использования различных шаблонов проектирования приложений в действительности может быть осуществена - в большинстве случаев для языков программирования с разным уровенем динамичности и управляемости кода
Тем не менее каждый из предлашаемых шаблонов проектирования как правило соответствует своей области и особенностям языка - в частности ООП предполагает создание акцента как классах и их экземплярах которые в сущности являются объектами определенного програмнного типа - и таком образом их использование является наиболее целесообразно в языках со строгой типизацией данных типа C++ или Java - в то время как применение соответствующих конструкций и оригинальных элементов на языках PHP/Perl не осуществляется естественным образом


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
eai
Отправлено: 03 Ноября, 2010 - 10:53:02
Post Id



Частый посетитель


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


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




Поясните.
Почему к примеру нельзя создать класс database отвечающий за связь с базой данных и для конкретной реализации использовать его.
Можно создать классы наследники аля mySQLdatabase, MSSQLdatabase.
Почему нельзя создать класс таблица, которому отдавать класс database
Почему нельзя создать класс dataset который примет в себя много таблиц, отнаследоваться от него, к примеру урезав количество колонок ... и так далее.

(Отредактировано автором: 03 Ноября, 2010 - 10:55:40)

 
 Top
Варяг
Отправлено: 03 Ноября, 2010 - 11:33:08
Post Id



Новичок


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


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




eai, можно вопрос? Я хочу сделать класс, который будет работать с БД(обновлять данные, добавлять), но проблема в том, что в одной таблице у меня 2 столбца, а в другой 10 столбцов, соотвтственно работа предстоит разная, некоторые данные будут только выводиться, а некоторые нельзя править, а в некоторых нужно изменить только часть данных.
Как такое лучше реализовать?
 
 Top
JustUserR
Отправлено: 03 Ноября, 2010 - 12:59:46
Post Id



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


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


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




eai пишет:
Почему к примеру нельзя создать класс database отвечающий за связь с базой данных и для конкретной реализации использовать его
Предоставляемые языком PHP возможности объектно-ориентированного программирования фактически позволяют осущесвить реализацию указанной вами схемы - однако используемые при этом другие динамические компоненты языка обеспечивающие в частности создание свойств и методов класса в процессе выполнения и первинчого обращения к ним - фактически не поддерживают ООП-концепцию со статическим и структурированным предсавлением информационных полей


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
eai
Отправлено: 03 Ноября, 2010 - 15:36:31
Post Id



Частый посетитель


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


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




JustUserR пишет:
однако используемые при этом другие динамические компоненты языка обеспечивающие в частности создание свойств и методов класса в процессе выполнения и первинчого обращения к ним - фактически не поддерживают ООП-концепцию со статическим и структурированным предсавлением информационных полей

Верно, но ведь изменять свойства и классы в процессе выполнения система не сама будет а программист это укажет. Если это воля программиста значит можно и так и эдак.
На C++ можно же процедурами все делать аля C
 
 Top
JustUserR
Отправлено: 04 Ноября, 2010 - 12:03:19
Post Id



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


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


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




eai пишет:
Верно, но ведь изменять свойства и классы в процессе выполнения система не сама будет а программист это укажет. Если это воля программиста значит можно и так и эдак
В случае рассмотрения указанного вопроса с точки зрения конечной архитектуры приложения использующего ООП-концепцию - то в действительности возможно проведение ее внедрения для таких динамических языков программирования как PHP или Perl Однако важным фактором является та особенность что полученный ООП-формат приложения - в таком случае в действительности не обеспечивает безопасность предостааляемую концепцией - поскольку в частности использование классов в языке C++ или Java с соответствующими аттрибутами аргументов - позволяют полностю исключить неправильные действия программиста - в то время как реализация соответствующей системы в PHP обеспечивает только визуальную структуризацию кода без его защиты


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB