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]
mysqli()->query("INSERT INTO `log` (`text`, `info`) values ('$text', '".serialize($info)."')");
// масив пишем пока что целиком, потому что я хрен знает как его мне лучше записать, это потом по ситуации.
}
что ещё в ней нужно? Ну может ещё пару проверок добавить, хотя сейчас даже немогу придумать зачем.
Теперь некий код с ошибками, что тут сложного? Или я что-то не так понял? Поставь задачу по другому, что имено за ошибки и что с ними нужно делать?
$_GET['page']=isset($_GET['page']) ? (int)$_GET['page']:1;// число
$_GET['query']=!empty($_GET['query']) ? mysqli()->real_escape_string($_GET['query']):'';// строка в запрос
забыл как это делается? Для этого нужно инстализировать фреймворк, создавать обеькты? Или может фреймворки делают что-то сверхестественое?
Zuldek пишет:
Например, для взаимодействия с GoogleMapAPI, GoogleAnaliticsAPI, Управление flashкой через Action Message Format(AMF). Вы вот так сядете разомнете руки и напишите за 10 минут средства работы с указанными средствами, охватив весь доступный их API?
ха ха А написать в гугле "Класс для работы с GoogleMapAPI php"? Взял класс, глянул описание методов и проблема решена. Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Zuldek
Отправлено: 21 Мая, 2013 - 10:18:18
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
caballero пишет:
а вот это как и работа с БД, например, к фреймворку вообще не относится. Это просто библиотеки который идут в комплекте с фреймворком.
У него вся архитектура такая: все модули ZF по сути есть независимые библиотеки которые идут, как вы сказали, вместе с фреймворком и могут быть использованы "отдельно" от других. Начиная с маршрутизатора запросов и заканчивая классами работы с моделями ZF суть набор библиотек, который не обязывает строить проект только на себе (тем не менее идеализировать какой-то отдельный фреймворк, понятно, - не стоит. Холивар на эту тему, давайте, не будем разводить).
Например использовали в нескольких проектах (построены не на ZF) модуль динамического распределения прав на действия для админки. (Добавление)
OrmaJever пишет:
ха ха Улыбка А написать в гугле "Класс для работы с GoogleMapAPI php"? Взял класс, глянул описание методов и проблема решена. Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.
Стоп. А чем отличается "прописал в гугле класс..." от того чтобы взять для этого отлаженное решение в фреймворке? Поковыряться с поделками и собрать в проекте салат классов (хорошо если классов - помним, что начинающие будут искать не классы, а "скрипты") разных разработчиков и философий?
Вы не советуете людям использовать фреймворки, а советуете "гуглить классы" - имхо, это не последовательно
Цитата:
Хотя кстате я очень сомневаюсь что в фреймворках есть таких необычные вещи как работа с гугл апи.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Zuldek пишет:
Стоп. А чем отличается "прописал в гугле класс..." от того чтобы взять для этого отлаженное решение в фреймворке?
фреймворк это что-то огромное с кучей лишнего кода который мне не нужен, но он выполняется. Один класс он простой, его можно и самому подправить если нужно, а в фреймворке тронь один метод и всё сломается.
Я в php не использовал фреймворки поэтому слабо представляю их функционал и синтаксис (как их использовать), напишите мне пару примеров кода с использованием фреймворка и описание что он делает.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
DelphinPRO
Отправлено: 21 Мая, 2013 - 11:40:11
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
OrmaJever пишет:
а в фреймворке тронь один метод и всё сломается.
они не для того ипшутся, чтобы вы их трогали. ядро фреймворка, как правило не требуется трогать.
----- Чем больше узнаю, тем больше я не знаю.
caballero
Отправлено: 21 Мая, 2013 - 11:42:37
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
фреймворк это что-то огромное с кучей лишнего кода который мне не нужен, но он выполняется
кроме зенда есть маса других фреймворков. Намного меньше.
Цитата:
Один класс он простой, его можно и самому подправить если нужно, а в фреймворке тронь один метод и всё сломается.
в самом фреймворке трогать методы не полагается. А если это твой класс то без разницы - сломается только он.
Цитата:
Я в php не использовал фреймворки поэтому слабо представляю их функционал и синтаксис (как их использовать), напишите мне пару примеров кода с использованием фреймворка и описание что он делает.
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
У нас получается "Я Малую Землю не читал, но скажу"
OrmaJever, - не камень в ваш огород, вы гораздо более опытный разработчик, чем я, но в части такого обоснования отказа от фреймворков с вами не согласен.
Править можно и править проще компоненты взятые из фреймворка, чем ковырять какой-нибудь сторонний класс или скрипт по той причине, что в случае с ZF компоненты, попадающие в релиз отвечают общей ОО архитектуре, оформлению кода и т.д. А легкость и простота класса в который вы "залезите и поправите" для решения этой же задачи обусловлена скорее всего его ограниченным функционалом (это уже к вопросу о выборе использовать готовый код или нет).
Ну вот, к примеру, компонент для работы с видео Youtube:
// Даже не лазив в код компонента, но зная правила именования методов и свойств в ZF, сможем получить дату обновления видео:
echo'Upd: '.$videoEntry->getUpdated();
?>
Что тут лишнего ?
Однако, я не без оснований предположу, что если "гуглить скрипты" и классы, то будет нагуглено то, что вполне может не охватывать все доступное api сервиса (ну не нужно было программисту Васе получать теги видео в его классе, а вам теперь придется дописывать), что не сказать о компонентах фреймворков, включаемых в релизы (если говорить о взаимодействии с сервисами, они обычно реализуют весь api).
Я тоже знаком с "фреймворками" критичными к использованию его для всего проекта и очень капризными к выдергиванию отдельных их компонентов и модулей. Как видите, - использовал компонент ZF без каких-либо вызовов ZF и никаких проблем не возникло.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
OrmaJever пишет:
фреймворк это что-то огромное с кучей лишнего кода
CodeIgniter - всего 2-3 мегабайта
более того, существуют фреймворки весом всего в несколько сот килобайт, и упакованные в один php-файл, предоставляя вместе с тем тот самый "каркас приложения" + небольшая библиотечка функций
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
OrmaJever пишет:
фреймворк это что-то огромное с кучей лишнего кода который мне не нужен, но он выполняется.
Как можно утверждать такое, не имея обыта работы с FW...
Ничего лишнего там не выполняется.
Надо отталкиваться от поставленной задачи.
Плюс, как написал уважаемый caballero, есть масса фреймворков, намного меньше популярных монстров, которых, видимо Вы и имели в виду.
Это - готовые инструменты с необходимым фунционалом.
А всё выше сказанное обусоблено ленью и нежеланием разбираться в FW, которые, между прочим, разрабатыва команда профессиональных программистов.
Неужели Вам не интересно с профессиональной точки зрения, ТС, хотя бы из академического интереса, заглянуть в сердце их детища ?
Принимая на работу, работодатель спрашивает об опыте работы в FW (к примеру ZEND FW)
не обязательно потому, что он предпологает выпускать проекты именно на его основе:
просто это "лишний раз" говорит о квалификации специалиста.
OrmaJever
Отправлено: 21 Мая, 2013 - 13:09:46
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
DelphinPRO пишет:
более того, существуют фреймворки весом всего в несколько сот килобайт, и упакованные в один php-файл, предоставляя вместе с тем тот самый "каркас приложения" + небольшая библиотечка функций
Но где же тогда та грань где заканчивается мой класс заготовка и начинается фреймворк?
Zuldek пишет:
Ну вот, к примеру, компонент для работы с видео Youtube:
Вот получение даты, и ради этого нужно инстализировать целый фреймворк?
Я не очень понял что такое "id видео", напишите более подробно я и достану вам и id видео в пару строк. Пункт 1б.
OrmaJever пишет:
1) Если у меня нету заготовки
а) Код уникален, его нужно писать под каждый случай отдельно
б) Он слишком простой и занимает пару строк
2) Есть есть заготовка, зачем использовать фреймворк?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
nkl
Отправлено: 21 Мая, 2013 - 13:47:30
Посетитель
Покинул форум
Сообщений всего: 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 сейчас далеко не уедешь.
DelphinPRO
Отправлено: 21 Мая, 2013 - 14:04:04
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
OrmaJever пишет:
Но где же тогда та грань
wikipedia пишет:
Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Употребляется также слово «каркас», а некоторые авторы используют его в качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).
где-то тут
правда насчет "большого программного проекта" я бы поспорил, и маленькие проекты вполне уместно писать на [микро]фреймворках
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Вот получение даты, и ради этого нужно инстализировать целый фреймворк?
в данном случае зенд позволяет использовать компоненты отдельно, хотя имхо такой функционал типа всякого рода API к сторонним сервисам не следует относить к фреймворку как таковому. Просто в зенде все свалили в кучу.
if(count($param)< 3) throw new Exception('мало параметров');
if(тут надо поискать обьект $param[0], где искать зависит от конкретной реализации, условие истино если обьекта нет) throw new Exception('нет такого обьекта');
if(!method_exists($param[0],$param[1])) throw new Exception('Нет такого метода');
Всё, метод вызван, хотя мне интересно как это реализируется с помощью вашего фреймворка.
nkl пишет:
один малюсенький php-тег <?=$string?> потому что профессинал-верстальщик понятие о вашем Похапе не имеет.
пфф, он совсем идиот? Бывают такие верстальщики? Нормальный верстальщик это всё понимает, и даже сам циклы раставит.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
esterio
Отправлено: 21 Мая, 2013 - 14:49:46
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
caballero пишет:
в данном случае зенд позволяет использовать компоненты отдельно
Да ну. Чтоб стащить у зенда компонент нужно столько связей перебрать, что проще целый фреймворк использовать. Ну ето уже здоровый гигант и для простого сайта визитки ИМХО целесообразно спользовать. Я бы скорее присмотрелся в сторону Yii или Symfony. Yii кстати из под коробкы позволяет многое автоматизировать. С Симфони дела не имел, но кажись там полностю модульная архитектура.
OrmaJever пишет:
пфф, он совсем идиот? Бывают такие верстальщики? Нормальный верстальщик это всё понимает, и даже сам циклы раставит.
Не всегда. Также когда-то думал чем {var} отличается от <?= $var; ?>, но пообщавшысь с несколькома верстальщиками я понял что для них все же разница есть.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.