<?php
class Google extends http
{
public function GetPage($site)
{
for($x=0;$x<64;)
{
$page = $this-> get('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=site:' . $site . '&start=' . $x . '');
$json = json_decode($page);
$this-> adaptation($json,$site);
$x++;
}
}
public function adaptation($json,$site)
{
foreach ($json->responseData->results as $resultjson)
{
$info= '' . $resultjson->url . ' ; ' . $this->Clear($resultjson->title) . ' ; ' . $this->Clear($resultjson->content) . '';
echo $info;
$this-> WriteCSV($info,$site);
}
}
//удаляем лишнее
public function Clear($data)
{
$vowels = array("<b>...</b>",""",";");
$freshcontent = str_replace($vowels, "", $data);
return $freshcontent;
}
//записываем
function WriteCSV($info,$site)
{
$tyday = date("d.m.y");
$file_name= '' . $site . '_' . $tyday . '_g.csv';
$fp = fopen($file_name, 'a+');
$test = fwrite($fp, $info ."\n"); // Запись в файл
fclose($fp); //Закрытие файла
}
}
?>
Спустя 2 часа, 20 минут, 56 секунд (16.02.2012 - 02:47) caballero написал(а):
Тут ООП и не пахнет. Просто несколько функций собранны в одном классе
Спустя 10 часов, 33 минуты, 32 секунды (16.02.2012 - 13:20) tp123 написал(а):
Я так и знал (((
Спустя 2 минуты, 41 секунда (16.02.2012 - 13:23) inpost написал(а):
Первый признак ООП - наследование и взаимодействие между объектами.
В твоём примере простой пакет функций, где присутствует пустая надпись: "extends http"
Так что это процедурный стиль.
В твоём примере простой пакет функций, где присутствует пустая надпись: "extends http"
Так что это процедурный стиль.
Спустя 16 минут, 54 секунды (16.02.2012 - 13:40) tp123 написал(а):
inpost, посоветуйте матерьял для прочтения и дальнейщего роста.
Спустя 11 минут, 9 секунд (16.02.2012 - 13:51) m4a1fox написал(а):
tp123
Цитата |
посоветуйте матерьял для прочтения и дальнейщего роста. |
Вам конкретное что-то нужно? google уже не помогает? или ошибиться в выборе лит-ры боитесь?
Спустя 7 минут, 4 секунды (16.02.2012 - 13:58) tp123 написал(а):
Не совсем. Гугул всегда в помошь, нужно навести на истенный путь, А не попасть в дебри Евгени-паппововский заблуждений и не перейти на темную сторону!
Привиду такой пример. Когда начал изучать php попалась книжка в которой автор не могу объяснить зачем ставиться ; и где она применяется, говорил просто ставьте, потом сами поймете и научитесь)))) полсе этого Я сжег к чертям книжку)
Привиду такой пример. Когда начал изучать php попалась книжка в которой автор не могу объяснить зачем ставиться ; и где она применяется, говорил просто ставьте, потом сами поймете и научитесь)))) полсе этого Я сжег к чертям книжку)
Спустя 11 минут, 35 секунд (16.02.2012 - 14:10) inpost написал(а):
tp123
Увы, не помогу. Все материалы что я читал не привели даже 1% желания у меня использовать в практике ООП.
Увы, не помогу. Все материалы что я читал не привели даже 1% желания у меня использовать в практике ООП.
Спустя 8 минут, 44 секунды (16.02.2012 - 14:18) m4a1fox написал(а):
tp123
Ну ХЗ, конечно... можете попробовать... вот списочек:
Ну ХЗ, конечно... можете попробовать... вот списочек:
- http://www.softtime.ru/php5/?id_article=112
- http://www.williamspublishing.com/Books/978-5-8459-1586-3.html
- http://i-vd.org.ru/books/php/object-oriented.shtml
- http://www.softtime.ru/php5/?id_article=118 (Глава 21)
- http://samouchka.net/ebooks/bookwebdesign/php/31702-php-5-v-podlinnike-2-e-izdanie.html
Спустя 17 минут, 29 секунд (16.02.2012 - 14:36) bodja написал(а):
tp123
Вам нужен язык ,где вы несможете даже Hello Word! написать ,не используя обьекты.
После этого и прийдет понимание зачем они нужны ,какие должны быть и т.д.
ПХП слишком молод для ООП ,напьетесь много воды.
Вам нужен язык ,где вы несможете даже Hello Word! написать ,не используя обьекты.
После этого и прийдет понимание зачем они нужны ,какие должны быть и т.д.
ПХП слишком молод для ООП ,напьетесь много воды.
Спустя 12 минут, 24 секунды (16.02.2012 - 14:48) sharki написал(а):
bodja
Согласен.
Согласен.
Цитата |
ПХП слишком молод для ООП ,напьетесь много воды. |
80% уже реализовано, даже больше наверное. Зато как в продвинулся Symphony с применением ООП и ORM в свем фраемворке
Спустя 6 минут, 6 секунд (16.02.2012 - 14:54) tp123 написал(а):
bodja,inpost Уже много раз слушал что php для этого не создан!
m4a1fox, спасибо большое!
m4a1fox, спасибо большое!
Спустя 8 минут, 27 секунд (16.02.2012 - 15:03) inpost написал(а):
tp123
В ПХП4 толкового ООП не было, сайты создавались, все были счастливы.
Потом появился ПХП5, и все как с ума сошли, это "круто". Вместо этого освоили бы технологии соккетов, node.js для постоянного коннекта и т.д. Это даст в 100 раз пользы, чем ООП.
ООП для понтов. Хочешь, чтобы все кругом считали, что ты крутой программист - пользуйся ООП. Вот только будешь ли ты крутым на самом деле...
В ПХП4 толкового ООП не было, сайты создавались, все были счастливы.
Потом появился ПХП5, и все как с ума сошли, это "круто". Вместо этого освоили бы технологии соккетов, node.js для постоянного коннекта и т.д. Это даст в 100 раз пользы, чем ООП.
ООП для понтов. Хочешь, чтобы все кругом считали, что ты крутой программист - пользуйся ООП. Вот только будешь ли ты крутым на самом деле...
Спустя 8 минут, 57 секунд (16.02.2012 - 15:12) sharki написал(а):
inpost
Польза в ООП будет только в том случае, если человек активно пользуется паттернами, причем не всяякими там одиночками, а серьезными - фабриками, состояние и т.п
А если совместить ноду и грамотно спроектированный сайт вот это дело.
Польза в ООП будет только в том случае, если человек активно пользуется паттернами, причем не всяякими там одиночками, а серьезными - фабриками, состояние и т.п
А если совместить ноду и грамотно спроектированный сайт вот это дело.
Цитата |
Вместо этого освоили бы технологии соккетов, node.js для постоянного коннекта и т.д. |
Только толку от этого? поиграться? если нет прочного фундамента на сервере...
Спустя 2 минуты, 31 секунда (16.02.2012 - 15:14) bodja написал(а):
sharki
PHP не статичен,для визуализаци тоже не годится(от MVC польше понту ,чем толку),
тут хоть с пулемета стреляй ,с ним пока все ясно.
PHP не статичен,для визуализаци тоже не годится(от MVC польше понту ,чем толку),
тут хоть с пулемета стреляй ,с ним пока все ясно.
Спустя 8 минут, 8 секунд (16.02.2012 - 15:22) inpost написал(а):
Вот когда созданные объекты будут действовать на уровне сервера, а не на уровне запроса, тогда можно будет говорить про целесообразность ООП, как это делается на прикладных языках.
В целом: объект создался, обработался, вывелся, удалился. Зачем создавать громоздящий объект, если его через 2 строчки echo, придётся удалять... всё это какой-то абсурд.
node.js + sockets - чаты, браузные игрушки, мгновенные сообщения и т.д. и т.п.
Дело жизни:
- Нужна сайт-визитка - ок, процедурка!
- нужен магазинчик - ок, процедурка!
- нужен сайт знакомств - ок, процедурка!
- добавь на сайт живое общение, типо помощи, ну ты помнишь, сам такое делал, так вот тут - процедурка. Повесил его на node.js, стало работать быстрее и удобнее.
- добавь на сайт чат - node.js
- добавь мини-игрушку "шашки" или полноценный сайт шахмат - sockets.io
А что надо заказать, чтобы я сказал, что на процедурке не сделаю, и прям необходим ООП?! Мне в голову не приходит, а вот применения node.js, sockets - огромно. Снова же, если рассматриваем те же соккеты, то у нас ООП будет на стороне сервера, но уже на JS, а не на PHP.
В целом: объект создался, обработался, вывелся, удалился. Зачем создавать громоздящий объект, если его через 2 строчки echo, придётся удалять... всё это какой-то абсурд.
node.js + sockets - чаты, браузные игрушки, мгновенные сообщения и т.д. и т.п.
Дело жизни:
- Нужна сайт-визитка - ок, процедурка!
- нужен магазинчик - ок, процедурка!
- нужен сайт знакомств - ок, процедурка!
- добавь на сайт живое общение, типо помощи, ну ты помнишь, сам такое делал, так вот тут - процедурка. Повесил его на node.js, стало работать быстрее и удобнее.
- добавь на сайт чат - node.js
- добавь мини-игрушку "шашки" или полноценный сайт шахмат - sockets.io
А что надо заказать, чтобы я сказал, что на процедурке не сделаю, и прям необходим ООП?! Мне в голову не приходит, а вот применения node.js, sockets - огромно. Снова же, если рассматриваем те же соккеты, то у нас ООП будет на стороне сервера, но уже на JS, а не на PHP.
Спустя 1 минута, 44 секунды (16.02.2012 - 15:24) TranceIT написал(а):
Цитата (inpost @ 16.02.2012 - 13:10) |
Увы, не помогу. Все материалы что я читал не привели даже 1% желания у меня использовать в практике ООП. |
Аналогично. Прочитал не одну книгу, но так и не понял зачем мне это нужно, лишние проблемы только.
Вон у m4a1fox в подписи регулярки на ООП замените, тот же эффект получится.
Спустя 8 секунд (16.02.2012 - 15:24) m4a1fox написал(а):
bodja
Цитата |
(от MVC польше понту ,чем толку) |
Не соглашусь... чем вам так MVC насолил...? Ведь штука, то не в названии, а в процессе, что оно исполняет... или вы смешиваете логику с видом, у вас в файле 100500 строк кода, где php перемешивается с html+css+js+jq? Суть в разделении, а что это.... mvc или не mvc дело второстепенное....
Спустя 1 минута, 1 секунда (16.02.2012 - 15:25) m4a1fox написал(а):
TranceIT
Не тронь мою подпись.......
Не тронь мою подпись.......

Цитата |
Прочитал не одну книгу |
Какую?
Спустя 4 минуты, 52 секунды (16.02.2012 - 15:30) TranceIT написал(а):
Цитата (m4a1fox @ 16.02.2012 - 14:25) |
Какую? |
Зандстра и еще одна по проектированию, не помню как называется на обложке синий кубик.
Спустя 3 минуты, 49 секунд (16.02.2012 - 15:34) m4a1fox написал(а):
TranceIT
Цитата |
Зандстра |
ИМХО. Зандстра, дает готовые паттерны.... разжевывает их.... но нужны и основы... В списке что я привел, последние 2 ссылки.... это книги Котерова и Кузнецова, всем известные, там есть главы посвященные ооп. В них начинаются именно основы...
Спустя 15 секунд (16.02.2012 - 15:34) sharki написал(а):
inpost
А как насчет таких задач как "Мне надо сделать в админке возможность создавать сайты как конструктор!" там в этом конструкторе еще дофига всего и всяких мелочей...
опять функционалку применишь?
А как насчет таких задач как "Мне надо сделать в админке возможность создавать сайты как конструктор!" там в этом конструкторе еще дофига всего и всяких мелочей...
опять функционалку применишь?
Спустя 1 минута, 3 секунды (16.02.2012 - 15:35) sharki написал(а):
m4a1fox
Не там ты ищешь разъяснение и понимание ООП
Ищи там где это действительно используется повсеместно, тот же JAVA, или C++. Вот тогда ты поймешь что такое ООП)
Не там ты ищешь разъяснение и понимание ООП

Ищи там где это действительно используется повсеместно, тот же JAVA, или C++. Вот тогда ты поймешь что такое ООП)
Спустя 2 минуты, 24 секунды (16.02.2012 - 15:38) TranceIT написал(а):
m4a1fox
"Я, несмотря на то, что программировал и на C++, и на Java, — люблю использовать процедуры. У меня такое чувство, что всё ООП состоит из превращения уже имеющихся задач в новые. И уже только потом дело доходит до их решения. Конечно, такой подход многое упрощает, но он ужасно неэффективен для разработки небольшого набора взаимосвязанных программ, что, собственно, и является сутью программных разработок для Web."
(с)Стерлинг Хьюз
"Я, несмотря на то, что программировал и на C++, и на Java, — люблю использовать процедуры. У меня такое чувство, что всё ООП состоит из превращения уже имеющихся задач в новые. И уже только потом дело доходит до их решения. Конечно, такой подход многое упрощает, но он ужасно неэффективен для разработки небольшого набора взаимосвязанных программ, что, собственно, и является сутью программных разработок для Web."
(с)Стерлинг Хьюз
Спустя 2 минуты, 38 секунд (16.02.2012 - 15:40) TranceIT написал(а):
m4a1fox
Основы я изучал по этому форуму и по тому, что даются в большинстве книг по основам PHP. Коих я прочитал наверно уже с десяток. Парочку в печатном виде потом приобрел.
Основы я изучал по этому форуму и по тому, что даются в большинстве книг по основам PHP. Коих я прочитал наверно уже с десяток. Парочку в печатном виде потом приобрел.
Спустя 9 минут, 28 секунд (16.02.2012 - 15:50) m4a1fox написал(а):
sharki
Цитата |
Ищи там где это действительно используется повсеместно, тот же JAVA, или C++. Вот тогда ты поймешь что такое ООП |
Не сомневаюсь, что java и c++ ОО языки.... есть еще и питон... Суть ООП сводится к применению некой общей схемы работы приложения... использование часто повторяющихся моментов и т.д и т.п.
Цитата |
"Я, несмотря на то, что программировал и на C++, и на Java, — люблю использовать процедуры. У меня такое чувство, что всё ООП состоит из превращения уже имеющихся задач в новые. И уже только потом дело доходит до их решения. Конечно, такой подход многое упрощает, но он ужасно неэффективен для разработки небольшого набора взаимосвязанных программ, что, собственно, и является сутью программных разработок для Web." |
А ни кто и не говорил, что ООП в PHP это панацея... Есть место где стоит пробовать использовать ООП, а есть где обычный стиль подойдет...
Но позвольте, вы не используете PDO? или mysqli у себя?
Спустя 13 минут, 7 секунд (16.02.2012 - 16:03) imbalance_hero написал(а):
sharki
"Мне надо сделать в админке возможность создавать сайты как конструктор!"
Функционалку - врядли, напишу процедурку, может быть даже на классах, но не буду никак городить ООП.
"JAVA, или C++"
Там он необходим, поэтому и важен. Как я уже выше сказал, на прикладном программировании объекты не уничтожаются так просто, как в работе веба. Там действительно это актуально.
" Суть ООП сводится к применению некой общей схемы работы приложения... использование часто повторяющихся моментов"
- Это работа КЛАССОВ и ФУНКЦИЙ, к ООП не относится
"вы не используете PDO? или mysqli у себя?"
Использую я mysqli, кроме возможности в ней работать на процедурном уровне, есть так же объективный подход. Я объективный перевел в процедурный, сделал обычный класс синглтон статичным, и пользуюсь им уже как процедурка.
"Мне надо сделать в админке возможность создавать сайты как конструктор!"
Функционалку - врядли, напишу процедурку, может быть даже на классах, но не буду никак городить ООП.
"JAVA, или C++"
Там он необходим, поэтому и важен. Как я уже выше сказал, на прикладном программировании объекты не уничтожаются так просто, как в работе веба. Там действительно это актуально.
" Суть ООП сводится к применению некой общей схемы работы приложения... использование часто повторяющихся моментов"
- Это работа КЛАССОВ и ФУНКЦИЙ, к ООП не относится

"вы не используете PDO? или mysqli у себя?"
Использую я mysqli, кроме возможности в ней работать на процедурном уровне, есть так же объективный подход. Я объективный перевел в процедурный, сделал обычный класс синглтон статичным, и пользуюсь им уже как процедурка.
Спустя 19 минут, 17 секунд (16.02.2012 - 16:22) m4a1fox написал(а):
imbalance_hero
Цитата |
- Это работа КЛАССОВ и ФУНКЦИЙ, к ООП не относится |
Это работа классов и методов.... и еще, как это класс к ООП не относится? А к чему тогда?
Цитата |
сделал обычный класс синглтон статичным |
Согласен. Но все же сингл, а это уже паттерн, что в свою очередь является ООП стилем.... ИМХО!
Да и вообще.... этот разговор, как и многие другие на форуме ни к чему не приведет... сколько раз уже начинали... одно и тоже... елозим туда сюда и обратно...
Спустя 1 минута, 58 секунд (16.02.2012 - 16:24) bodja написал(а):
Цитата |
Не соглашусь... чем вам так MVC насолил...? Ведь штука, то не в названии, а в процессе, что оно исполняет... или вы смешиваете логику с видом, у вас в файле 100500 строк кода, где php перемешивается с html+css+js+jq? Суть в разделении, а что это.... mvc или не mvc дело второстепенное.... |
Когда мне нужно назначить\изменить фон кнопки при нажатии и не только фон ,но и размеры ,позицию ,слой ,цвет,я пишу так-
на яваскрипте
Цитата |
document.geEelementById('button').onclick=function () { document.geEelementById('button').style.background="but.jpg"; } |
на бейсике
Цитата |
Private Sub Button_OnClick() Button.background="but.jpg"; End Sub |
на Си
Цитата |
void Button_onclick():void { Button.background="but.jpg"; } |
на екшенскрипте
Цитата |
private function button_clik(event:Event):void { button.bitmapData = img.bitmapData; } |
Да, я мешаю представление и логику и мне не нужны контроллеры-роутеры-шмоутеры и прочая ересь для выхода в нужную точку программы.Мне не нужно лезть в шаблонизатор ,так как обьект как правило содержит в себе весь необходимый набор методов и свойств для назначения и изменения внешнего вида.
А теперь ,сделайте тоже самое на MVC

Спустя 2 минуты, 53 секунды (16.02.2012 - 16:27) SlavaFr написал(а):
Цитата (bodja @ 16.02.2012 - 12:14) |
(от MVC польше понту ,чем толку) |
это зависет от того, что программируеш.
Спустя 5 минут, 57 секунд (16.02.2012 - 16:33) imbalance_hero написал(а):
m4a1fox
А вот так. Класс - это пакет функций и переменных. Ничего более.
ООП - это наследование, инкапсуляция, абстракция, распределение ролей.
Синглтон - маленькая необходимая вещь, чтобы перевести ООПшный класс mysql, в статичный, чтобы можно было пользоваться им адекватно в процедурном программировании.
Пока не будет целого огорода кто кого, а кто ниже, а кто выше, кто с кем дружит, а кто с кем в ссоре, то нет и ООП.
Классы - один из инструментов как для процедурного программирования, так и для ООПшного.
А вот так. Класс - это пакет функций и переменных. Ничего более.
ООП - это наследование, инкапсуляция, абстракция, распределение ролей.
Синглтон - маленькая необходимая вещь, чтобы перевести ООПшный класс mysql, в статичный, чтобы можно было пользоваться им адекватно в процедурном программировании.
Пока не будет целого огорода кто кого, а кто ниже, а кто выше, кто с кем дружит, а кто с кем в ссоре, то нет и ООП.
Классы - один из инструментов как для процедурного программирования, так и для ООПшного.
Спустя 21 секунда (16.02.2012 - 16:33) SlavaFr написал(а):
Цитата (bodja @ 16.02.2012 - 13:24) |
.Мне не нужно лезть в шаблонизатор ,так как обьект как правило содержит в себе весь необходимый набор методов и свойств для назначения и изменения внешнего вида. |
дело не только в том, чтоб отделить скрипт который занимается тонкостями изображения или другого оутпута в отдельный файл, но и в том, чтоб его мозно было в любой момент заменить другим не изменяя при этом контроллер или модель
Спустя 28 минут, 23 секунды (16.02.2012 - 17:02) bodja написал(а):
SlavaFr
Есть такое понятие как начальная инициализация переменных и констант.
Небольшой пример.
Есть такое понятие как начальная инициализация переменных и констант.
Небольшой пример.
Цитата |
const IMAGE1_URL = "head.jpg"; const IMAGE2_URL = "menu.jpg"; const IMAGE3_URL = "footer.jpg"; var videoURL:String = "sample.flv"; var _page:BitmapData = new BitmapData(900, 1200, true, 0xffaFFFaF); var _header:BitmapData = new BitmapData(900, 150, true, 0xffffeeee); var _content:BitmapData = new BitmapData(900, 400, true, 0xffeeFFee); var _footer:BitmapData = new BitmapData(900, 100, true, 0xffeeeeff); var video:Video = new Video(); var page:Bitmap; var header:Bitmap; var content:Bitmap; var footer:Bitmap; var button1:Sprite; //-------------- var connection:NetConnection; var stream:NetStream; //--------------- var bmd1:BitmapData; var bm2:Bitmap; var bmd2:BitmapData = new BitmapData(900, 1200, true, 0xffaFFFaF); var rect:Rectangle = new Rectangle(10, 10, 150, 150); var pt:Point = new Point(0, 0); |
Это на тот случай если нужно быстро изменить внешне.Если менять внешне сильно,то все равно необходимо менять и функционал.Тут что не городи ,все равно не поможет.
Спустя 36 минут, 58 секунд (16.02.2012 - 17:39) SlavaFr написал(а):
Цитата (bodja @ 16.02.2012 - 14:02) |
Если менять внешне сильно,то все равно необходимо менять и функционал |
а если не сильно?
нам приходилось например толькко блогадорля замене View менять хтмл-оутпут на pdf , xml и jsons-string. при этом не приходилось изменять контролер или модель не на грам.
Спустя 9 часов, 53 секунды (17.02.2012 - 02:39) tp123 написал(а):
inpost, для меня сейчас php ушло в направлении написания парсеров, регеров, автоматизаторов когда надо большой объем инфы спарсить/залить/скачать/распоковать/запоковать/залить в mysql. Понимаю что это гиблый путь. тоесть лучше это вообще делать на perl...
Спустя 4 минуты, 9 секунд (17.02.2012 - 02:44) TranceIT написал(а):
tp123
Не тырить контент лучше всего
Не тырить контент лучше всего

Спустя 4 минуты, 45 секунд (17.02.2012 - 02:48) tp123 написал(а):
TranceIT, дык я не для себя для клиентов ))))
_____________