Вопрос про классы в php
Код:
function replace_code($vararray, $template)
{
foreach($vararray as $find => $replace)
{
$find = "{".$find."}";
$template = str_replace($find, $replace, $template);
}
return $template;
}
{
foreach($vararray as $find => $replace)
{
$find = "{".$find."}";
$template = str_replace($find, $replace, $template);
}
return $template;
}
т.е. получилось примерно раза в три меньше кода, а результат тот же. Вот и хотел узнать про эти классы, в нете ничего конкретного не нашёл, объясните чайнику в чём смысл их использования.
Идея использования классов общая для всех языков программирования. От конкрентного языка зависит только реализация этой идеи (синтаксис, удобство и т.д.) Поэтому не ищи информацию про классы в php, а ищи про классы вообще.
Но класс предназначен для работы с каким-то набором определенных данных, их обработке.. Т.е. класс объединяет логически данные в одну структуру (до этого мы обрабатывали данные функциями на странице, а теперь сосредотачиваем их обработку в одном конкретном месте=>следовательно и удобнее работать + преимуществ больше, таких как расширение функционала и т.д.).
Ну и вообще я плохо умею объяснять))
Почитай эту тему:
http://forum.codenet.ru/showthread.php?t=43121
Пока это ещё выше моего понимания :confused: т.к. делаю довольно простенькую программу где удобнее всё обрабатывать небольшими ф-ми.
Цитата: ChesnoK
Тык.... я немного вкурил что к чему с классами, я так понял класс подобие большой ф-ии, но разделённой на блоки... методы, т.е. классу так же передаём какие-то параметры, а он нам готовый результат?
Ну это все равно, что про слона сказать 'здоровая такая фигня с двумя длинными хернями с двух противоположных сторон'. :-)
Лучше в википедии про класса почитай ну а дальше по ссылкам из этой википедии пройдись.
ООП как правило прменяется для более простого понимания и сопровождея систем... Систем, которые крупнее echo 'hello world';. Если тебе нужны просто 2 функции, то не стоит вдаваться и пытаться написать их в объектном представлении. ООП это не серебрянная пуля, а всего лишь подход. Когда начнёш писать что-то более крупное, где код будет измерятся не в байтах или килобайтах, а в десятках мегабайтов, вот тогда ты поймёшь для чего нужен ООП.
В общем я примерно понял что из себя всё это представляет, спасибо за разъяснения )))
даже если не касаться ООП, а использовать статические классы как библиотеки функций - появляется некоторое удобство работы. Хотя, кому как, вероятно...
Вы как всегда правы, маэстро))) Правда после выхода 5.3 (появления namespace) в таких классах отпадёт необходимость (опять же, если ты не используешь чистое ООП, как я например))))
Именно про namespace я и разумею. classname::methodname - что это, как не тот же самый namespace?
PS В namespace ещё есть фичи типа use и import (если память не отбило) )))
Цитата: shaelf
Повторю, это пригодится только для функционального и смешаного программирования.
o_O В php есть функциональное программирование?
Цитата: aks
o_O В php есть функциональное программирование?
учитывая, что в php нет процедур, процедурным программированием это называть язык не поворачивается ))))
Всё незнание наверное терминалогий. Я имел ввиду написания сайта (программы) на основе функций. Если кто-то мне скажет как это точно называется, буду благодарен ))
ну так и называется - процедурное программирование )))) в случае с php уместнее называть его функциональным ))))
Все же функциональное прогаммирование не имеет вобще отношение к императивным языкам, к которым вы привыкли, и строиться на совсем другой матмодели. )
Спасибище.
Цитата: aks
Все же функциональное прогаммирование не имеет вобще отношение к императивным языкам, к которым вы привыкли, и строиться на совсем другой матмодели.
Можно с етого места поподробнее (ну может хоть линк какойто по етой теме). Кста ходил к гулу с фразой "функциональное прогаммирование". Первый линк на твой пост :)
Википедия )))
Ну да в википедии более менне описывающая статейка. Плюс погугли про лямбда-исчисление на котором по сути теоретически оно основывается.
Интересная штука. Прочитал пока поверностно, но с того что понял - помойму нейронные сети писать удобно (хотя я с нейросетями ничего не имел, но там ведь тоже куча входов и один выход - как у фуекции)