Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Фреймворки а надо? [3]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (6): « 1 2 [3] 4 5 6 »   

> Описание: Актуальность использования
OrmaJever
Отправлено: 21 Мая, 2013 - 10:02:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




DeepVarvar пишет:
Покажи код )))

К обработке ошибок ещё нашёл одну заготовленую функцию
Спойлер (Отобразить)

Ну а вот теперь конкретно по ошибкам, функция логирования
Спойлер (Отобразить)

что ещё в ней нужно? Ну может ещё пару проверок добавить, хотя сейчас даже немогу придумать зачем.
Теперь некий код с ошибками, что тут сложного? Или я что-то не так понял? Поставь задачу по другому, что имено за ошибки и что с ними нужно делать?
Спойлер (Отобразить)


Фильтрация входящих даных
Спойлер (Отобразить)

забыл как это делается? Для этого нужно инстализировать фреймворк, создавать обеькты? Или может фреймворки делают что-то сверхестественое?
Zuldek пишет:
Например, для взаимодействия с GoogleMapAPI, GoogleAnaliticsAPI, Управление flashкой через Action Message Format(AMF). Вы вот так сядете разомнете руки и напишите за 10 минут средства работы с указанными средствами, охватив весь доступный их API?

ха ха Улыбка А написать в гугле "Класс для работы с GoogleMapAPI php"? Взял класс, глянул описание методов и проблема решена. Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Zuldek
Отправлено: 21 Мая, 2013 - 10:18:18
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




caballero пишет:
а вот это как и работа с БД, например, к фреймворку вообще не относится. Это просто библиотеки который идут в комплекте с фреймворком.

У него вся архитектура такая: все модули ZF по сути есть независимые библиотеки которые идут, как вы сказали, вместе с фреймворком и могут быть использованы "отдельно" от других. Начиная с маршрутизатора запросов и заканчивая классами работы с моделями ZF суть набор библиотек, который не обязывает строить проект только на себе (тем не менее идеализировать какой-то отдельный фреймворк, понятно, - не стоит. Холивар на эту тему, давайте, не будем разводить).
Например использовали в нескольких проектах (построены не на ZF) модуль динамического распределения прав на действия для админки.
(Добавление)
OrmaJever пишет:
ха ха Улыбка А написать в гугле "Класс для работы с GoogleMapAPI php"? Взял класс, глянул описание методов и проблема решена. Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.

Стоп. А чем отличается "прописал в гугле класс..." от того чтобы взять для этого отлаженное решение в фреймворке? Поковыряться с поделками и собрать в проекте салат классов (хорошо если классов - помним, что начинающие будут искать не классы, а "скрипты") разных разработчиков и философий?
Вы не советуете людям использовать фреймворки, а советуете "гуглить классы" - имхо, это не последовательно Улыбка
Цитата:
Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.

Есть и не только гугл апи (Zend_GData).

(Отредактировано автором: 21 Мая, 2013 - 10:51:45)

 
 Top
Crate
Отправлено: 21 Мая, 2013 - 10:55:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 312
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




OldBob пишет:
Человек, любящий поучать, должен в первую очередь следить за собой. Программист пишется с двумя я
Причастный оборот обособляется запятыми, тогда уж.

(Отредактировано автором: 21 Мая, 2013 - 11:02:22)

 
 Top
OrmaJever
Отправлено: 21 Мая, 2013 - 11:22:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Zuldek пишет:
Стоп. А чем отличается "прописал в гугле класс..." от того чтобы взять для этого отлаженное решение в фреймворке?

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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DelphinPRO
Отправлено: 21 Мая, 2013 - 11:40:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




OrmaJever пишет:
а в фреймворке тронь один метод и всё сломается.
они не для того ипшутся, чтобы вы их трогали. ядро фреймворка, как правило не требуется трогать.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 21 Мая, 2013 - 11:42:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
фреймворк это что-то огромное с кучей лишнего кода который мне не нужен, но он выполняется

кроме зенда есть маса других фреймворков. Намного меньше.

Цитата:
Один класс он простой, его можно и самому подправить если нужно, а в фреймворке тронь один метод и всё сломается.

в самом фреймворке трогать методы не полагается. А если это твой класс то без разницы - сломается только он.

Цитата:
Я в php не использовал фреймворки поэтому слабо представляю их функционал и синтаксис (как их использовать), напишите мне пару примеров кода с использованием фреймворка и описание что он делает.

а это в раздел "вопросы новичков" Улыбка


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Zuldek
Отправлено: 21 Мая, 2013 - 11:55:37
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




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

Ну вот, к примеру, компонент для работы с видео Youtube:
PHP:
скопировать код в буфер обмена
  1.  
  2. include_once "Zend/Gdata/Youtube.php";
  3. $youtube = new Zend_Gdata_YouTube();
  4. // получим id видео
  5. $videoEntry = $youtube->getVideoEntry('ruSome');
  6. // Например http://www.youtube.com/watch?v=ruSome
  7. $videoEntry = $yt->getVideoEntry('ruSome');
  8. echo 'Id: ' . $videoEntry->getVideoId() . "<br />";
  9. // Даже не лазив в код компонента, но зная правила именования методов и свойств в ZF, сможем получить дату обновления видео:
  10. echo 'Upd: ' . $videoEntry->getUpdated();
  11. ?>

Что тут лишнего ? Улыбка
Однако, я не без оснований предположу, что если "гуглить скрипты" и классы, то будет нагуглено то, что вполне может не охватывать все доступное api сервиса (ну не нужно было программисту Васе получать теги видео в его классе, а вам теперь придется дописывать), что не сказать о компонентах фреймворков, включаемых в релизы (если говорить о взаимодействии с сервисами, они обычно реализуют весь api).
Я тоже знаком с "фреймворками" критичными к использованию его для всего проекта и очень капризными к выдергиванию отдельных их компонентов и модулей. Как видите, - использовал компонент ZF без каких-либо вызовов ZF и никаких проблем не возникло.

(Отредактировано автором: 21 Мая, 2013 - 15:09:43)

 
 Top
DelphinPRO
Отправлено: 21 Мая, 2013 - 12:46:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




OrmaJever пишет:
фреймворк это что-то огромное с кучей лишнего кода

CodeIgniter - всего 2-3 мегабайта
более того, существуют фреймворки весом всего в несколько сот килобайт, и упакованные в один php-файл, предоставляя вместе с тем тот самый "каркас приложения" + небольшая библиотечка функций

(Отредактировано автором: 21 Мая, 2013 - 12:47:08)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
armancho7777777 Супермодератор
Отправлено: 21 Мая, 2013 - 12:53:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




OrmaJever пишет:
фреймворк это что-то огромное с кучей лишнего кода который мне не нужен, но он выполняется.

Как можно утверждать такое, не имея обыта работы с FW...
Ничего лишнего там не выполняется.
Надо отталкиваться от поставленной задачи.
Плюс, как написал уважаемый caballero, есть масса фреймворков, намного меньше популярных монстров, которых, видимо Вы и имели в виду.
Это - готовые инструменты с необходимым фунционалом.
А всё выше сказанное обусоблено ленью и нежеланием разбираться в FW, которые, между прочим, разрабатыва команда профессиональных программистов.
Неужели Вам не интересно с профессиональной точки зрения, ТС, хотя бы из академического интереса, заглянуть в сердце их детища ?
Принимая на работу, работодатель спрашивает об опыте работы в FW (к примеру ZEND FW)
не обязательно потому, что он предпологает выпускать проекты именно на его основе:
просто это "лишний раз" говорит о квалификации специалиста.
 
 Top
OrmaJever
Отправлено: 21 Мая, 2013 - 13:09:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




DelphinPRO пишет:
более того, существуют фреймворки весом всего в несколько сот килобайт, и упакованные в один php-файл, предоставляя вместе с тем тот самый "каркас приложения" + небольшая библиотечка функций

Но где же тогда та грань где заканчивается мой класс заготовка и начинается фреймворк?
Zuldek пишет:
Ну вот, к примеру, компонент для работы с видео Youtube:

Вот получение даты, и ради этого нужно инстализировать целый фреймворк? Однако
PHP:
скопировать код в буфер обмена
  1. $c = curl('http://www.youtube.com/watch?v=WZbjcD3PUS4');
  2. preg_match('#<span id="eow-date" class="watch-video-date" >(.+?)</span>#is', $c, $m);
  3. echo $m[1];

Я не очень понял что такое "id видео", напишите более подробно я и достану вам и id видео в пару строк. Пункт 1б.
OrmaJever пишет:
1) Если у меня нету заготовки
а) Код уникален, его нужно писать под каждый случай отдельно
б) Он слишком простой и занимает пару строк
2) Есть есть заготовка, зачем использовать фреймворк?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
nkl
Отправлено: 21 Мая, 2013 - 13:47:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




OrmaJever, framework имхо для тех, кто не любит изобретать велосипеды. Плюс, готовая реализация HMVC. Реализуйте мне пожалуйста в пару строк HMVC, с возможностью писать в адресной строке что-то вроде http://example[dot]com/object/method/param

Где
obeject - это объект, у которого есть метод для принятия строки от пользователя, метод для вывода принятой строки на экран через шаблон.
method - это метод объекта, будь-то get set или еще чего, а
param - это название шаблона, через который можно вывести полученную фразу, причем шаблонов может быть десяток, а в шаблоне может быть только один малюсенький php-тег <?=$string?> потому что профессинал-верстальщик понятие о вашем Похапе не имеет.

Причем все эти параметры должны быть необязательными, введя просто http://example[dot]com/ мы должны попасть на форму ввода этой фразы, а по нажатию на кнопку ок получить её уже тут http://example[dot]com/object/method/param ,и желательно еще что бы на странице ввода можно было селектом выбрать через какой шаблон вы бы хотели вывести вашу фразу.

А ТС помоему трололоша, а не программист нихера. Ну это ж надо, Rubby on Rails принять за php-фреймворк! Да и на голом JS сейчас далеко не уедешь.
 
 Top
DelphinPRO
Отправлено: 21 Мая, 2013 - 14:04:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




OrmaJever пишет:
Но где же тогда та грань

wikipedia пишет:
Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Употребляется также слово «каркас», а некоторые авторы используют его в качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).

где-то тут

правда насчет "большого программного проекта" я бы поспорил, и маленькие проекты вполне уместно писать на [микро]фреймворках

(Отредактировано автором: 21 Мая, 2013 - 14:05:46)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 21 Мая, 2013 - 14:18:34
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Вот получение даты, и ради этого нужно инстализировать целый фреймворк?

в данном случае зенд позволяет использовать компоненты отдельно, хотя имхо такой функционал типа всякого рода API к сторонним сервисам не следует относить к фреймворку как таковому. Просто в зенде все свалили в кучу.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
OrmaJever
Отправлено: 21 Мая, 2013 - 14:22:59
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




nkl пишет:
Реализуйте мне пожалуйста в пару строк HMVC, с возможностью писать в адресной строке что-то вроде http://example.com/object/method/param

PHP:
скопировать код в буфер обмена
  1. if(empty($_GET['query'])) {
  2.    тут форма или что-то там ещё
  3. } else {
  4.    $param = explode('/', $_GET['query']);
  5.    if(count($param) < 3) throw new Exception('мало параметров');
  6.    if(тут надо поискать обьект $param[0], где искать зависит от конкретной реализации, условие истино если обьекта нет) throw new Exception('нет такого обьекта');
  7.    if(!method_exists($param[0], $param[1])) throw new Exception('Нет такого метода');
  8.    call_user_funct(array($param[0], $param[1]), $param[2]);
  9. }

Всё, метод вызван, хотя мне интересно как это реализируется с помощью вашего фреймворка.
nkl пишет:
один малюсенький php-тег <?=$string?> потому что профессинал-верстальщик понятие о вашем Похапе не имеет.

пфф, он совсем идиот? Бывают такие верстальщики? Нормальный верстальщик это всё понимает, и даже сам циклы раставит.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
esterio
Отправлено: 21 Мая, 2013 - 14:49:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




caballero пишет:
в данном случае зенд позволяет использовать компоненты отдельно

Да ну. Чтоб стащить у зенда компонент нужно столько связей перебрать, что проще целый фреймворк использовать. Ну ето уже здоровый гигант и для простого сайта визитки ИМХО целесообразно спользовать. Я бы скорее присмотрелся в сторону Yii или Symfony. Yii кстати из под коробкы позволяет многое автоматизировать. С Симфони дела не имел, но кажись там полностю модульная архитектура.

OrmaJever пишет:
пфф, он совсем идиот? Бывают такие верстальщики? Нормальный верстальщик это всё понимает, и даже сам циклы раставит.

Не всегда. Также когда-то думал чем {var} отличается от <?= $var; ?>, но пообщавшысь с несколькома верстальщиками я понял что для них все же разница есть.

(Отредактировано автором: 21 Мая, 2013 - 15:00:54)

 
 Top
Страниц (6): « 1 2 [3] 4 5 6 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Новости веб-технологий »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB