Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос про классы в php

10K
07 января 2008 года
ChesnoK
57 / / 18.07.2006
Здравстуйте, у меня такой тупой вопрос: в чём преимущество использовния классов в php? сейчас пытаюсь приспособить шаблоны к сайту, прочитал статью по этому поводу а там был пример с использованием классов. Мне показалось что это очень неудобно и грамоздко, в результате я всё это переделал в одну ф-ию:
 
Код:
function replace_code($vararray, $template)
{
 
 foreach($vararray as $find => $replace)
 {
  $find = "{".$find."}";
  $template = str_replace($find, $replace, $template);
 }
  return $template;
}


т.е. получилось примерно раза в три меньше кода, а результат тот же. Вот и хотел узнать про эти классы, в нете ничего конкретного не нашёл, объясните чайнику в чём смысл их использования.
337
07 января 2008 года
shine
719 / / 09.06.2006
Идея использования классов общая для всех языков программирования. От конкрентного языка зависит только реализация этой идеи (синтаксис, удобство и т.д.) Поэтому не ищи информацию про классы в php, а ищи про классы вообще.
244
08 января 2008 года
UAS
2.0K / / 19.07.2006
Кажется, вы понимаете класс, как объект с набором функций.
Но класс предназначен для работы с каким-то набором определенных данных, их обработке.. Т.е. класс объединяет логически данные в одну структуру (до этого мы обрабатывали данные функциями на странице, а теперь сосредотачиваем их обработку в одном конкретном месте=>следовательно и удобнее работать + преимуществ больше, таких как расширение функционала и т.д.).
Ну и вообще я плохо умею объяснять))

Почитай эту тему:
http://forum.codenet.ru/showthread.php?t=43121
10K
08 января 2008 года
ChesnoK
57 / / 18.07.2006
Тык.... я немного вкурил что к чему с классами, я так понял класс подобие большой ф-ии, но разделённой на блоки... методы, т.е. классу так же передаём какие-то параметры, а он нам готовый результат?
Пока это ещё выше моего понимания :confused: т.к. делаю довольно простенькую программу где удобнее всё обрабатывать небольшими ф-ми.
337
08 января 2008 года
shine
719 / / 09.06.2006
Цитата: ChesnoK
Тык.... я немного вкурил что к чему с классами, я так понял класс подобие большой ф-ии, но разделённой на блоки... методы, т.е. классу так же передаём какие-то параметры, а он нам готовый результат?


Ну это все равно, что про слона сказать 'здоровая такая фигня с двумя длинными хернями с двух противоположных сторон'. :-)

Лучше в википедии про класса почитай ну а дальше по ссылкам из этой википедии пройдись.

15
08 января 2008 года
shaelf
2.7K / / 04.05.2005
ООП как правило прменяется для более простого понимания и сопровождея систем... Систем, которые крупнее echo 'hello world';. Если тебе нужны просто 2 функции, то не стоит вдаваться и пытаться написать их в объектном представлении. ООП это не серебрянная пуля, а всего лишь подход. Когда начнёш писать что-то более крупное, где код будет измерятся не в байтах или килобайтах, а в десятках мегабайтов, вот тогда ты поймёшь для чего нужен ООП.
10K
08 января 2008 года
ChesnoK
57 / / 18.07.2006
shine :D
В общем я примерно понял что из себя всё это представляет, спасибо за разъяснения )))
8
08 января 2008 года
mfender
3.5K / / 15.06.2005
даже если не касаться ООП, а использовать статические классы как библиотеки функций - появляется некоторое удобство работы. Хотя, кому как, вероятно...
15
08 января 2008 года
shaelf
2.7K / / 04.05.2005
Вы как всегда правы, маэстро))) Правда после выхода 5.3 (появления namespace) в таких классах отпадёт необходимость (опять же, если ты не используешь чистое ООП, как я например))))
8
08 января 2008 года
mfender
3.5K / / 15.06.2005
Именно про namespace я и разумею. classname::methodname - что это, как не тот же самый namespace?
15
08 января 2008 года
shaelf
2.7K / / 04.05.2005
Просто появится именно namespace ))). Например в классах можно только имитировать namespace и систему пакетов (PEAR_HTML_Form_), а там это будет нормально встроенно... Повторю, это пригодится только для функционального и смешаного программирования. Если ты используешь чистое ООП и у тебя нормально с пакетами всё (тот же пеар возьму за пример), то тебе скорее всего это не нужно... С другой стороны неизвестно, что дадут нативный namespace, может быть будет встроен некий getAllClassFomPackage('packageName'); или что-то подобное... Посмотрим.
PS В namespace ещё есть фичи типа use и import (если память не отбило) )))
240
09 января 2008 года
aks
2.5K / / 14.07.2006
Цитата: shaelf
Повторю, это пригодится только для функционального и смешаного программирования.


o_O В php есть функциональное программирование?

8
09 января 2008 года
mfender
3.5K / / 15.06.2005
Цитата: aks
o_O В php есть функциональное программирование?


учитывая, что в php нет процедур, процедурным программированием это называть язык не поворачивается ))))

15
09 января 2008 года
shaelf
2.7K / / 04.05.2005
... походу что-то не то сказал))))
Всё незнание наверное терминалогий. Я имел ввиду написания сайта (программы) на основе функций. Если кто-то мне скажет как это точно называется, буду благодарен ))
8
09 января 2008 года
mfender
3.5K / / 15.06.2005
ну так и называется - процедурное программирование )))) в случае с php уместнее называть его функциональным ))))
240
09 января 2008 года
aks
2.5K / / 14.07.2006
Процедурно модульное, структурное, как угодно. В С тоже нет процедур, но тем не менее он уже много десятков лет является широкоисспользуемым примером языка с такой парадигмой, с которого и php позаимствовал во многом свой синтаксис. По стути это такая же парадигма как и ООП, и отказывться от устоявшихся названий только из за того, что в конкретном языке что то по другому называется не стоит.
Все же функциональное прогаммирование не имеет вобще отношение к императивным языкам, к которым вы привыкли, и строиться на совсем другой матмодели. )
15
09 января 2008 года
shaelf
2.7K / / 04.05.2005
Спасибище.
276
09 января 2008 года
Rebbit
1.1K / / 01.08.2005
Цитата: aks

Все же функциональное прогаммирование не имеет вобще отношение к императивным языкам, к которым вы привыкли, и строиться на совсем другой матмодели.


Можно с етого места поподробнее (ну может хоть линк какойто по етой теме). Кста ходил к гулу с фразой "функциональное прогаммирование". Первый линк на твой пост :)

15
09 января 2008 года
shaelf
2.7K / / 04.05.2005
Википедия )))
240
09 января 2008 года
aks
2.5K / / 14.07.2006
Ну да в википедии более менне описывающая статейка. Плюс погугли про лямбда-исчисление на котором по сути теоретически оно основывается.
276
09 января 2008 года
Rebbit
1.1K / / 01.08.2005
Интересная штука. Прочитал пока поверностно, но с того что понял - помойму нейронные сети писать удобно (хотя я с нейросетями ничего не имел, но там ведь тоже куча входов и один выход - как у фуекции)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог