All streams
Search
Write a publication
Pull to refresh
36
0

User

Send message
Не забыл, просто опечатался ;)

Вот как раз в этом куске кода, что бросил сюда из своего прожекта, этот параметр вообщем-то не и нужен - все это длается именно в фильтре(у меня куча различных фильтров на каждый тип данных со своими фишками ), по нему уже определяем какой типа нам нужен, и если к примеру нам нужен инт или флоат, а получаем строку, то можем выкинуть и UnexpectedValueException, если захотим. Или постараемся преобразовать ;)
Согласен :) И давно его использую ;)

На set_exception_handler(), что нибудь накинули?
Угу, придираюсь ;)

Я бы правда вынес нотис за грани эксепшна и проверял, что это нотис на уровне call-back-а (как вариант кидать NoticeException ;) ) и как-нибудь его выводил, хоть одной строкой, тут уже все равно.
А если я хочу красиво нотис оформить :) ?
То, что мне выкинулся эксепшн на обычный нотис. $_POST['b'] - в котором нет индекса b - это нотис, гласящий "Undefined index: b".
Про лямду в курсе, только вот пока до нее еще очень далеко. PHP 5.3 - это вообще другой язык, и неймспейсы, замыкания, может быть даже нормальный тайп хинтинг, traits... Но это все реально, к сожелению, очень далеко :(

Скопировал ваш код, запустил:
try {
$_POST['b'];
}
catch (Exception $e) {
echo $e;
}

Получил, как и ожидал: exception 'MyException' with message 'Undefined index: b' in D:\Web\home\localhost\htdocs\dev\Nano\index.php:45 Stack trace: #0 D:\Web\home\localhost\htdocs\dev\Nano\index.php(45): __lambda_func(8, 'Undefined index...', 'D:\Web\home\loc...', 45, Array) #1 {main}

Правда у меня нотисы я все таки выкинул, с помощью switch($errno), на E_NOTICE... так спокойнее.
А можно вопросек небольшой, зачем создавать лямбда функцию, если можно кинуть нормальный call-back?

Да и смысл всего этого действа, ведь на E_ALL, эксепшн вылезет даже там, где будет кинут простой notice.

И кстати. Ошибки и исключения - это разные механизмы.
Что-то вроде того, но я говорил о немного другом уровне, например таком:
class Request {
&nbspl&nbsplpublic function getQueryParam($name, Filter $filter, $default = null) {
&nbspl&nbspl&nbspl&nbsplif(isset($_GET[$name])) {
&nbspl&nbspl&nbspl&nbspl&nbspl&nbsplreturn ($filter)? $filter->apply($name) : $_GET[$name];
&nbspl&nbspl&nbspl&nbspl}
&nbspl&nbspl&nbspl&nbsplelse {
&nbspl&nbspl&nbspl&nbspl&nbspl&nbsplreturn $default;
&nbspl&nbspl&nbspl&nbspl}&nbspl&nbspl&nbspl
&nbspl&nbspl}

&nbspl&nbspl//...
}

Фильтры кстати тоже пишутся за час-два до приемлимого уровня ;)
Видел я один раз код такого ленивого програмера. Что еще хуже я сидел и около 2-х часов пытался найти в чем же там проблема, почему ничего не работает через раз и почему мне об этом ничего даже не сообщаеца. Проблема решилась за две минуты, как только я убрал собаку из вызова одной функции.

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

А про забитие на кавычки в массивах и isset при проверке входящих данных(который вообще пишется только один раз и помещается в какой-нибудь компонент работаютщий) - за это, извините, но надо избивать. Причем до тех пор, пока человек не поймет, что если он будет писать номральный грамотный и читаемый код, который сам ему подскажет что к чему - то он так и будет тратить 80% своего времени заниямась рутинным кодингом.
пишется самим за полчаса...
Деньги. Главная проблема. Столько всего можно иметь и уже сейчас с такими штуками как интернеты и мобильные телефоны, доступ к своим данным(контактам, фоткам, записям в блоге... все равно где они находятся, все равно где лежат) с любого устройства через любой интерфейс поддерижвающий некий апи(ну или что-то вроде того), но... все хотят денег, иметь миллион пользователей и получать с этого две тыще баксов в месяц - нельзя, как же так, мы же _настолько_ популярны!

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

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

А подмысль моего коммента в том, что 5% зенда - это его только его корка, со всеми базовыми вещами типа контролеров, роутингов, енвиронмента и вью. Если нужно из него только это - то он бессмыслен, так как все это есть и более плотно интегрировано (и быстрее работает) в куче других фреймворках. Если нужно уже нормально с бд работать, фидами, мыло посылать, авторизацию, кеширование, с формами работать - то это уже гораздо больше чем 5% процентов ;) И использовать зенд - не такая уж и плохая идея.

А фреймворк он на то ифреймвор, чтоб быть в основе. А искать каждый раз новую основу для нового проека - действительно полный бред.
Смотря что нужно от фреймворка. Зенд - отличнейший конструктор, который при желании позволит тебе очень многое. И его врядли можно упрекнуть в нелогичности.

А если из зенда нужно вырезать практически все - то стоит задуматся о том, что он в данном случае и не нужен вовсе.
Что-то он мало просит.
Почему за семантику должны еще и платить?
Почему заказчик вообще должен знать что такое эта "семантика"?
Почему нельзя просто взять и качественно и грамотно выполнить работу, а не ныть "а мне за это не плааатят", после забывая об этом заказчике как о кошмарном сне?
Почему так трудно понять, что если тебя все устраивает(деньги, время, сабжект работы) то ты берешься за работу, если нет - то от нее можно всегда отказаца?
Я привел пример только лишь одного плюса :)
К сожелению для подавляющего большинства это все таки плюс. Причем очень огромный.
К примеру наличие русского языка.
Опыт говорит о том, что вначале надо отбить побыстрее деньги затраченные на создания этого чуда :)
Я тоже так думал... пока не начал смотреть фильмы в hdtv и слушать музыку во lossless-е. Знаешь... Нисколько несложно :))

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity