Одна страница && control'ы && submit

Иван 76

Новичок
triumvirat
PS мне, понимаешь ли, рисование велосипедов эстетическое удовольствие доставляет.
Понимаю. Тоже есть своя штука + штука на Зенде со своей надстройкой. Про удовольствие знаю.

Вопрос в другом. Человек не нашел в РНР привычных для него хелперов, чтоб одной строкой - и все готово. Чтоб не рисовать велосипед, а сесть и поехать. Об этом и вопрос его был.
 

Angerslave

Новичок
triumvirat
Автослесари ремонтируют и тюнингуют автомобиль. Автомобилист же врядли сам настраивает подвеску.

Если взять не ZF, а .NET - просто так никто не сможет поглядеть внутрь методов. Но использовать этот фреймворк можно и без глазения внутренностей - документация решает.
 

Иван 76

Новичок
triumvirat

Вопрос человека:
В ASP.NET вся эта кухня спрятана за кадром и работает без каких-либо телодвижений. В PHP, я так понял такого - ниц и все нуна самому руками разводить. Вот как это грамотно организовать? Т.е., к примеру, с select'ом это, пока, для меня выглядит а-ля:
...
...
...
Так люди делают? Или ЭстЪ какие-то std приемы решения данной задачи?

Есть, стандартные решения, разработанные производителем языка программирования РНР. Называется Зенд Фреймверк.
 

Духовность™

Продвинутый новичок
Zend - это не стандартное решение. Это не расширение языка PHP. Это в конце-концов не язык.

"В ASP.NET вся эта кухня спрятана за кадром" -- именно. Это реализованоь на уровне технологии. Так же как в PHP спрятан за кадром разбор HTTP запроса.
 

Angerslave

Новичок
Иван 76 почему-то считает, что юзать ZF в паре с PHP это очень естественно... Я вот с этим не согласен.
 

Иван 76

Новичок
Angerslave
Ребята, вот вы все хаете, а сами по сути ничего толкового человеку не сказали. Только смуту вносите. Не нравится мой ответ - предложите альтернативу, и всего делов. Я понимаю конечно, принцип "А баба Яга против"...

Да вопрос не в этом.
из всего, что сегодня есть в мире РНР, что может быть пригодно для построения форм:
PEAR,
CakePHP,
Symfony,
CodeIgniter
ЗФ
+ цела гора доморощенных формгенераторов,

Из всего этого, единственное решение, которое можно назвать стандартным, хорошо спроектированным, покрывающим наибольший спектр запросов разработчика, а тем более, разработанным производителем самого языка РНР, - это ЗФ.
 

x-yuri

Новичок
Иван 76 давай открывать тему "Лучший фреймворк"
мне, например, интересно, почему Zend Framework такая идеальная
 

Иван 76

Новичок
x-yuri
Потому-что все познается в сравнении.
Я все их изучал и пробовал. Фреймверки, КМС-ки. На РНР, Питоне, Ruby.
 

nalim

Новичок
Ответ: Чтобы узнать пришел пост или гет нужно использовать
$_SERVER['REQUEST_METHOD']
Но лучше сразу проверять $_POST на наличие интересующих
команд

готовые методы работы с формами есть в PEAR
PEAR - это набор PHP кода следовательно
никаких особенных требований к хостингу нет
Но ихняя библиотека FORMS может быть неудобной,
в этом случае можно поискать по сторонам и найти на любой вкус

CakePHP и CodeIgniter
не советую
CodeIgniter -это PHP 4 фреймворк, и много узких мест
CakePHP - не юзал но я так понимаю до ума его еще не довели в реалиях сегоднешнего дня тоже подустарел
 

Иван 76

Новичок
nalim
Да, Пеар уже озвучивался. Это хорошее решение. Там подтянули они некоторые вопросы.
 

Ex_Soft

Новичок
triumvirat
вопрос как раз был в другом. как конкретная задача реализуется на уровне языка.
Абсолютно в дырочку ;)
Ex_Soft
ЭстЪ какие-то std приемы решения данной задачи?
Подразумевалось следующее: когда я только-только взялся за BCB (VCL) - я не знал всех предоставляемых возможностей. И, когда мне понадобилось вырезать от имени файла расширение, я нарисовал свой лисапет и назвал его, ессесно, ExtractFileExt и, при линковке, с удивлением, обнаружил, что в VCL'е это уже ЭстЪ. Так вот: всех функций/возможностей PHP я, пока, не знаю. Вот и спросил:
1. Так это делается или я снова изобретаю лисапет (на уровне PHP)?
2. Если это так и делается - это оптимально или ЭстЪ какие-то неизвестные мне, де-факто, приемы? К примеру:
i=i+1 -> i+=1 -> i++. Т.е., грубо говоря, не индусский/академический/букварный/ламерский ли у меня подход?
nalim
Чтобы узнать пришел пост или гет нужно использовать $_SERVER['REQUEST_METHOD']
Мне неинтересно каким методом ко мне пришли данные - наоборот: нужно, чтобы было все равно "...на каком ухе тюбетейка..." Для этого, как пишут буквари, заюзал $_REQUEST. Меня интересует другое. На пальцах. Когда страница дергается первый раз то control'ам необходимо установить некие default'овые значения. Когда уже страница дергается по submit'у - то уже нуна в них запихнуть то, что ввел юзвер. Надеюсь, я понятно изложил. Т.е., грубо говоря:
PHP:
Ctrl.value = !PHPIsSubmit() ? DefaultValue : $_REQUEST[Ctrl.name]
Что д.б. внутри PHPIsSubmit()?
 

x-yuri

Новичок
Мне неинтересно каким методом ко мне пришли данные - наоборот: нужно, чтобы было все равно "...на каком ухе тюбетейка..."
с точки зрения безопасности лучше параметры передавать через POST, если они не нужны в GET (потому что пытаться подставить что-то левое в POST-параметр сложнее)

обычно без использования библиотек и фреймворков в начале пишут
PHP:
$page = isset($_GET['page']) ? $_GET['page'] : <default page>
следующий шаг - это скорее библиотека (например, HTML_QuickForm2), а следующий - фреймворк (естественно, если использование http-параметров не единственная причина)
 

Духовность™

Продвинутый новичок
это образно. а так у каждого свои методы, кто ка хочет так и пишет. POST определяется либо с помощью предопределенной переменной $_SERVER['REQUEST_METHOD'] либо наличием конкретной переменной из формы:

if (isset($_REQUEST['var_name'])) {...}
 

Ex_Soft

Новичок
x-yuri
с точки зрения безопасности лучше параметры передавать через POST, если они не нужны в GET (потому что пытаться подставить что-то левое в POST-параметр сложнее)
Вы до сих пор принимаете переданные Вам данные на веру? Тогда мы идем к Вам. ;)
x-yuri
IsPostBack на пхп обычно не реализовывают
Почему? Или подход одна страница сама action себя нетривиален для PHP? Вот представьте себе обычную страницу-калькулятор. В ней пользовоталь чегой-то вводит и чегой-то рассчитывает. Грубо говоря играется всякими различными параметрами, решая, к примеру, какую-нить оптимизационную задачу. Т.е.: установил значения параметров и нажал кнопоцку "Рассчитать". Посмотрел результат. Он его не удовлетворил. Он поменял один параметр (остальные должны же остаться как и были) и - снова. При первой ее загрузке нуна установить default'овые параметры, ну, а далее - то что уже введено. Как бы Вы на уровне PHP и одной страницы сама в себя сие реализовали?
 
Сверху