[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ->
I-Trap
Копаюсь в чужом коде часто встречаю следующие выражения:

$a -> b что значит данный оперетар ->
Гугл с Яндексом ничего толкового не находят, подскажите пожалуйста, знаю - вопрос глупый, тут все должно быть просто, но не совсекм понимаю суть, хоть я PHP не первый день вижу и пишу на нем.



Спустя 21 минута (7.12.2009 - 12:15) Michael написал(а):
Цитата (I-Trap @ 7.12.2009 - 10:54)
хоть я  PHP не первый день вижу и пишу на нем.

Видим что не первый день. 2 года 7 месяцев как зарегился.
А по вопросу - это ООП в PHP.

P.S. Мне чисто для статистики интересно: такая невосприимчивость к ООП - это не один из экспертов с этого форума у тебя учитель?

Спустя 1 минута, 55 секунд (7.12.2009 - 12:17) Nordmar написал(а):
Если ошибусь, то пусть поправят:

Где-то определяется
 class a { ... }
$a = new a();


Затем в другом файле вызывается
global $a;


А затем уже

$a -> b();


Т.е. вызывается функция, которая относится к классу a.

Спустя 40 минут, 2 секунды (7.12.2009 - 12:57) Alex VoDevil написал(а):
Коллеги, могу сказать одно: ООП в руках дауна - зло! Это я не про топик-стартера и не про форумчан вообще, это я о наболевшем. Я сейчас разгребаю код, одним объектом, в одном файле, ~6000 строк, весь функционал огромной админки там! sad.gif
Я не против ООП, ООП это отлично, равно как и граната в руках защитника отечества - это отлично, но стоит дать эту гранату обезьяне - ааабздзац! При проектировании объектного кода, господа, думайте, много думайте!

А по топику - это примерно так:

class A
{
public function b()
{
echo 'Йа публичной метод "b" объекта "kaboom", принадлежащего классу "A"';
}
}


$kaboom = new A();
$kaboom->b();

Спустя 31 минута, 34 секунды (7.12.2009 - 13:29) twin написал(а):
ООП это не класс. Это Объектно Ориентированное Программирование. То есть акцент на последнее слово. Есть два вида программирования - процедурное и объектное. Если человек пихает все в один объект (класс), то значит он просто напросто упаковывает процедурный код в красивую и модную обложку. Что бы научиться программировать объектно, нужно знать гораздо больше, чем "что обозначает ->". Нужно четко разобраться с наследованием, с паттернами, вообще с архитектурой ООП ориентированного подхода.
Это совсем другой образ мышления.

У обоих подходов есть как и плюсы, так и минусы.
Но те, кто решил, что процедура, это говнокодинг, а сам не может в двух функциях толком разобраться - вовсе не ООП программист. Он вообще не программист, а заблудшая овечка, нахватавшаяся верхушек и возомнившая себя крутым кодером.
Вот такие и пишут подобные классы, пихая все в один флакон.
Можно либо весь проект ориентировать на ООП, либо описывать класс там, где он удобен. А остальное писать процедурой.
Заталкивать в класс весь код ради крутизны - смешно и глупо.

Спустя 1 час, 22 минуты, 37 секунд (7.12.2009 - 14:52) Alex VoDevil написал(а):
Процедурный то подход, между прочем, как правило быстрее wink.gif По крайней мере так xdebug и прочие профайлеры говорят. Я использую объекты только для проектировки отдельных частей кода: Шаблонизатор html, объект работающий с БД, объеткы для работы с smtp, irc через сокеты и т.д. Может я и не прав, но пока не вижу приемуществ в объектном подходе в php, разве что здрорво помогает конфликта имен избежать и упорядочить код smile.gif Реально оправданного применения наследования на php вообще ни разу не видел. Может быть опыта еще мало... Я знаю что такое "->" примерно год smile.gif

Спустя 23 минуты, 15 секунд (7.12.2009 - 15:15) glock18 написал(а):
Применение наследования в пхп оправдано настолько же насколько в любом другом языке.

Спустя 15 минут, 57 секунд (7.12.2009 - 15:31) Michael написал(а):
Цитата (Alex VoDevil @ 7.12.2009 - 11:57)
Коллеги, могу сказать одно: ООП в руках дауна - зло!

Молодец, грамотно сказал.

twin, ты модульное программирование забыл.



Спустя 45 минут, 13 секунд (7.12.2009 - 16:16) twin написал(а):
Цитата
twin, ты модульное программирование забыл.

Я забыл... Я целый курс веду по модульному прогаммированию. Почти по модульному.
Просто лично я не вижу нужды как то их делить. Вернее не вижу нужды упираться в что то одно. Все хорошо на своих местах.
Ни кто и никогда не заставит меня написать так:

$superClass -> display('Привет, мир!');

вместо этого
echo 'Привет, мир!';

если разработку я веду самостоятельно. В общей архитектуре какого то приложения естественно приходится. Но всё пихать по классам - не вижу никакой необходимости. Разве что модно это.

Спустя 3 дня, 1 час, 45 минут, 40 секунд (10.12.2009 - 18:02) I-Trap написал(а):
Благодарю всех
Насчет моей невосприимчивости к ООП, могу лишь сказать, что учился писать на РНР по одной старой книжке, там об ООП инфы не было, вот и писал не используя его. smile.gif


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.