powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Классы,ОПП
24 сообщений из 24, страница 1 из 1
(PHP) Классы,ОПП
    #32937755
McLighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обьясните пожалуйста для чего используются классы и ООП в целом. Любые задачи решаю и без этого. Только для структуризации программы и удобства чтения? Просто хочу двигаться в php дальше, но не знаю для каких целей некоторые вещи типа ООП.
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32937887
Фотография Berkut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООП хорош для написания больших проектов

Лучше в расширении функционала

а вообще почитай про ООП на http://www.php.net/manual/ru/ там кажется есть статья про ООП и функциональное программирование
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938078
McLighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООП это просто стиль программирования? Или это какие то новые возможности?
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938085
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И то, и то
"The CBO without stats is like a morning without coffee." T.Kyte
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938111
McLighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть что либо что я не сделаю без ООП?
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938115
Фотография hell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не напишешь ООП скрипт :-)
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938132
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любую задачу можно решить функциональным программированием и ООП. Чем крупней проект ,тем больше вероятность того, что ООП будет уместней функционального программирования. Причем, эта зависимость размеров проекта от метода программирования гараздо больше, чем просто линейная..;))))
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938208
McLighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на скорость это влияет?
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938275
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
McLighterА на скорость это влияет?
Гы-гы... на скорость разработки влияет.... На скорость работы скрипта влияет алгоритм... а реализуешь ты его через функции или ООП это БОЛЬШОГО значения не имеет. ООП и функциональное программирование - это две технологии изготовления приложения. У каждой есть свои за и против. Прогугили вопрос... больше толка будет, чем от флеймоподобного топика.
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938374
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сначало научись пользоваться готовыми, чужими классами.
Потом, если понравится, начнешь свои писать
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938465
McLighter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где взять готовые классы?
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32938536
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://sql.ru/forum/actualthread.aspx?tid=162638#1345281
+
http://pear.php.net/
http://wact.sourceforge.net/
http://phpdb.org/
http://php-tools.de/site.php
http://www.phpclasses.org/
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32939839
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ООП в пхп мне нужен для ускорения разработки и упрощения copy-paste на однотипных проектах. Например, такой код делает форму с постраничным выводом, поиском, сортировкой по заданной таблице:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
		$table = 'customers';
		$pk = 'CUSTOMER_ID';
		$name = 'CUSTOMER_NAME';
			$Lister = new CLister(false, 'Customers');
			$Lister -> SetDisplayFields(array(
			new CDisplayer('CUSTOMER_NAME', 'Name'),
			new CDisplayer('SALE_NAME', 'Sale'),
			new CDisplayer('RELATION_NUM', 'Relation #'),
			new CDisplayer('STATE_ABBR', 'Relation state'),
			));
			$Lister -> SetOrder(array(
			new COrderer('CUSTOMER_NAME',  1 ),
			new COrderer('SALE_NAME'),
			new COrderer('RELATION_NUM'),
			new COrderer('STATE_ABBR'),
			));

			$Lister -> SetDataSource('V_CUSTOMERS');
			$Lister -> SetAddRecord('<a href="?step=3"><img src="images/add.gif" border="0" alt="Add customer"></a>');
			$Lister -> SetEditActions(
			array(
			new CEditAction('<a href="projects.php?CUSTOMER_ID=%%CUSTOMER_ID%%">PRJ</a>'),
			new CEditAction('<a href="contracts.php?CUSTOMER_ID=%%CUSTOMER_ID%%">OBJ</a>'),
			new CEditAction('<a href="users.php?CUSTOMER_ID=%%CUSTOMER_ID%%">USR</a>'),			
			new CEditAction('<a href="?step=2&ID=%%CUSTOMER_ID%%"><img src="images/edit.gif" border="0" alt="Edit" title="Edit"></a>'),
			new CEditAction('<a href="?step=1&ID=%%CUSTOMER_ID%%"><img src="images/delete.gif" border="0" alt="Delete" title="Delete"></a>')
			)
			);
			$Lister -> LoadArguments($_POST);
			$Lister -> PopulateData();
			echo $Lister -> Write();


...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32939841
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиск вот:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
				$t1 = new CDBLookupSearcher('USER_TYPE', false, true, 'USER_TYPES', 'USER_TYPE_ID', 'USER_TYPE_ABBR');
				$t1 -> altfieldname = 'USER_TYPE_ABBR';
				$t1 -> PopulateData();
				$t2 = new CDBLookupSearcher('CUSTOMER_NAME', false, true, 'CUSTOMERS', 'CUSTOMER_ID', 'CUSTOMER_NAME');
				$t2 -> PopulateData();
				$t3 = new CDBLookupSearcher('FILIAL_NAME', false, true, 'FILIALS', 'FILIAL_ID', 'FILIAL_NAME');
				$t3 -> PopulateData();
				$searchers = array(
					new CStringSearcher('SYSTEM_LOGIN'),
					new CStringSearcher('USER_NAME'),
					$t1,
					$t2,
					$t3,
					new CBoolSearcher('FLAG_ACTIVE', 't')
				);
				$Lister -> SetSearch($searchers);
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32942564
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Писать на пхп используя ООП это бред. пхп не ООП язык и возможности у него такие же да и таких глобальных проектов на пхп я что то себе представить немогу чтоб ООП понадобилось.

Если интересно ООП тогда это JAVA (на с++ сложновато с пхп переходить :-))) ну и какая нить книга про это самое ООП :-)) например Гради Буча "ООП анализ и проектирование на С++" уж очень она мне нравится :-))
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32942579
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любите Буча - ради Б-га. Только вот что он такого там понаписал, что нельзя в PHP использовать?

С++ или Java? Да, я не спорю, в Java что-либо без классов написать нереально, причем классами будет пахнуть тут же, с первых строчек. В С++
Код: plaintext
1.
2.
3.
4.
5.
#include <iostream>
using namespace std;
void main(void) {
   cout << "Hello, world!";
}
Если не знать, что cout - класс - то и пофигу, в общем-то. И вовсе необязательно знать, что int - это в С++ тоже класс, только он маскируется.
Чтобы что-то большое писать именно на С++, от классов не уйдешь, но они будут диктоваться только используемым API, не более того. Т.е. вот есть MFC, вот тебе и классы. Есть STL - тоже классы.

Глобальные проекты на PHP ровно такие же, как и любые другие. Например, можно делать интранет на J2EE, а можно и на PHP. Yahoo на PHP живет вот, например. А можно этот же интранет сделать на голом C, без плюсов. Вопрос только в скорости разработки и повторного использования кода.
Скажем, если есть уже API для вывода элементов формочек в HTML, и надо какой-то элемент модифицировать слегка, то лучше тут подойдут наследование и полиморфизм, нежели огород в процедурном стиле. Сходу можете придумать механизм хранения разнородных сущностей в одном контейнере, с возможностью применения однотипных действий к каждой из сущностей?
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32942607
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто и не говорит что нельзя использовать то что буч пишет в своей книге в пхп. Я говорю что пхп (покрайней мере 4) практически не приспособлен к тому что б на нем писать ОО. Yahoo говорите на пхп? Мне думается что внутри там что нить посерьезнее живет и база не mysql ...

а насчет больших проектов на пхп (и что там на чем можно написать) это тоже бред. Ну скажите какой это большой проект реально вами (или вашеми знакомыми) разрабатываемый ?? объем проекта и что он делает.

а после этого можно поговорить предметно. про генерацию хтмля все там на процедурах отлично работает и ниразу руки к ОО не потянулись (если на пхп шла разработка). вернее потянулись пару раз да глядя на возможности и опустились уж лучше без ОО. (да и изначально он был процедурным а оо навесили как впрочем и в перле)

И не подумайте что я пхп не люблю! напротив очень даже люблю и писал и пишу и буду писать (правда щас и в будующем меньше) но не ОО ... и ооп не по наслышке знаю (JAVA) так что маленькое свое ИМНО могу иметь :-))
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32942840
Фотография Sehensucht! (потерял пароль)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жаль.

жаль, что среди разработчиков есть такие люди, как Вы, vfabr .

складывается ощущение, что Вы сами-то не особо и много "напрограммировали". могу только посочувствовать, что у Вам не с кого было брать пример грамотной разработки приложений. Так Вы бы хоть книгу какую прочли, что ли...

Простите, а при написании скриптов, использующих соединение с БД, Вы тоже ООП не используете? Ах, простите, зачем же использовать БД, если файлы можно хранить в файловой системе, а для обработки данных использовать текстовые файлы...

Грустно, товарищи, просто грустно становится... У нас тут в конторе есть подобные "ведущие программисты", так хоть на стенку лезь от них.
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32942945
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большие проекты на пхп... revcom.ru, ilka.ru
Каждый под много тысяч строк.

Интранет-система для крупной фирмы, с учетом поставок и растаможек материалов из-за границы. 60 тысяч строк.
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32943537
Fabrichenko Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не буду спорть с крутыми разработчиками собравшимися здеся. Хорошо я лох и ничего не написал НО если для системы объемом в 60 000 строк (хотя если вы действиетельно используете там ООП то количество строк не показатель о великие разрабртчики) был выбран для реализации ПХП могу только посочувствовать.

Вы сделали ошибку в проектировании своей системы и выкинули деньги на ветер ... И используй ООП или не используй все у вас через какое-то время просто начнет разваливаться и тормозить. И еще мне очень интересно сложную логику вы тоже на ПХП реализовали?? а как вы с екселем работаете?? а базу вы не MySQL взяли?? Если у вас оракл и вы описываете только интерфейс клиента тогда где там можно написать 60000 строк??? (хотя написать то можно много толку только будет чуть)

Да и при таких объемах кода интересно сколько у вас ПХП все это дело парсит. Ведь очень много времени тратится на интерпретирование кода.

Вообщем спорить больше не буде ИМНО ПХП не ООП язык и соответственно писать на нем надо так как это предполагали разработчики.

И еще вопрос зачем в пхп при подключении к БД ООП??
------------------------------------
жизнь как пестня
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32943555
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fabrichenko ViktorИ еще вопрос зачем в пхп при подключении к БД ООП??Вам он соверенно ни к чему.
Другим удобен и полезен
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32943682
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как видно из заявлений Fabrichenko Viktor, человек, просто не понимает, для чего вообще нужен ООП с его инкапсуляцими, полиморфизмом и наследованием.
Счтиаешь РНР недоязыком и все пишешь на Си/Ява используя ООП- флаг тебе в руки изобретай велосипед и пиши интернет приложения на этих языках. Предпочитаешь функциональное программирование и все равно считаешь РНР недоязыком, опять же тот же флаг в руки...
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32943862
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Скорее всего просто круг решавшихся задач такой. Использование ООП или процедурного подхода должно быть уместно. Если та или иная концепция неуместна - действительно, использовать её смысла мало. Посмотрите, к примеру, на курсы Курепина - типичный пример неуместности ООП. Да ещё и с претензией на обучение новичков (как раз этого они и не дают).
...
Рейтинг: 0 / 0
(PHP) Классы,ОПП
    #32944181
CM Hungry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fabrichenko ViktorНе буду спорть с крутыми разработчиками собравшимися здеся. Хорошо я лох и ничего не написал НО если для системы объемом в 60 000 строк (хотя если вы действиетельно используете там ООП то количество строк не показатель о великие разрабртчики) был выбран для реализации ПХП могу только посочувствовать.

Вы сделали ошибку в проектировании своей системы и выкинули деньги на ветер ... И используй ООП или не используй все у вас через какое-то время просто начнет разваливаться и тормозить.

Это почему же? Мне вот еще такой вопрос интересен - юыли же в 70х банковские системы по 200 тысяч строк кода, на коболе, аде и т.п. И никто не знал про С++ или яву, и ничего, писали ведь. И что, тоже все разваливалось и тормозило? А ведь все это работало на 128кб памяти и машинках уровня IBM PC XT. Тоже все ошибались и выкидывали деньги на ветер?

А по поводу тормозить - очень рекомендую сравнения скорости работы JSP и PHP, например.
Fabrichenko Viktor
И еще мне очень интересно сложную логику вы тоже на ПХП реализовали??

Зачем же =)
Fabrichenko Viktorа как вы с екселем работаете??
Через XML(экспорт) и CSV (импорт, xls2csv-конвертор на юнихе есть, не говоря о виндах)
Fabrichenko Viktorа базу вы не MySQL взяли?? Если у вас оракл и вы описываете только интерфейс клиента тогда где там можно написать 60000 строк??? (хотя написать то можно много толку только будет чуть)

Можно. Объекты доступа к БД. Проверка ACL на уровне доступа к формам. Выводы данных - это все в итоге и дает объем.
В интранете на 60 тысяч строк PHP еще около 40 тысяч - хранимки на PL/SQL
Fabrichenko Viktor
Да и при таких объемах кода интересно сколько у вас ПХП все это дело парсит. Ведь очень много времени тратится на интерпретирование кода.

Меньше 0.05 секунды. К тому же, optimizer никто не отменял.
Fabrichenko Viktor
Вообщем спорить больше не буде ИМНО ПХП не ООП язык и соответственно писать на нем надо так как это предполагали разработчики.

А вот в пхп5 разработчики как раз предполагают, что будет много классов, объектов и т.п. Даже интерфейсы появились.
Fabrichenko Viktor
И еще вопрос зачем в пхп при подключении к БД ООП??

А не в php? =)
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Классы,ОПП
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]