Я пришел к вам из "вражеского" лагеря (asp.net), на данный момент читаю книжку Максима Кузнецова и Игоря Симдянова PHP 5/6.
Книжка хорошая, ничего не скажешь. Но тема связи php и html задета очень слабо. Поиски в google, тоже особо ничего не дали.
Собственно вопрос, возможно ли в php осуществить доступ к html объектам как к классам php?
Простейший пример:
Форма авторизации, пользователь вводит неправильный пароль. Я хочу поменять цвет поля и выдать какое-то сообщение.
Возможно ли это сделать где-то вот так:
$txt_password->style = "border: red 1px solid";
$p_error->inner_html = "Incorrect password";
Так же я не хочу, чтобы значение поля login постоянно сбивалось, если пароль неправильный. Неужели надо каждый раз его вручную писать из $_POST значений ?
Прикрепляю, файлом, код, как я реализовал вышеописанный пример. Кому не лень, пожалуйста, посмотрите.
Скорее всего, есть какие-то сторонние библиотеки, где есть ООП оболочка для html элементов, но вопрос именно, возможно ли это сделать стандартными средствами php. Если нет, то какую реализацию html элементов посоветуете?
Спустя 4 минуты, 24 секунды (31.12.2010 - 10:53) Guest написал(а):
Цитата (Const @ 31.12.2010 - 07:49) |
Поиски в google, тоже особо ничего не дали. |
Спустя 7 минут, 6 секунд (31.12.2010 - 11:00) Const написал(а):
Цитата (Guest @ 31.12.2010 - 07:53) | ||
|
Спасибо за сообщение, но на данный момент я нахожусь на "интернетной диете" (в Китае), цензура не позволяет открыть твою ссылку.
Спустя 5 минут, 39 секунд (31.12.2010 - 11:06) twin написал(а):
Цитата |
Я пришел к вам из "вражеского" лагеря (asp.net), |
Так уж и вражеского)))
Цитата |
Скорее всего, есть какие-то сторонние библиотеки, где есть ООП оболочка для html элементов, но вопрос именно, возможно ли это сделать стандартными средствами php. Если нет, то какую реализацию html элементов посоветуете? |
Я подозреваю, что имеется недопонимание принципов клиент-серверных взаимодействий. HTML находится на машине пользователя, а PHP - на машине сервера. И объеденить их при всем желании не выйдет. Только запрос-отклик.
Спустя 10 минут, 18 секунд (31.12.2010 - 11:16) Const написал(а):
Цитата (twin @ 31.12.2010 - 08:06) | ||||
Так уж и вражеского)))
Я подозреваю, что имеется недопонимание принципов клиент-серверных взаимодействий. HTML находится на машине пользователя, а PHP - на машине сервера. И объеденить их при всем желании не выйдет. Только запрос-отклик. |
Подозрение неправильное.
На сервере идет генерация html кода, который потом отправляется клинту.
PHP страничка содержит html разметку и php код для реализации логики.
Я хочу вынести весь php код, скажем, на верх, а внизу написать только разметку.
Допустим есть несколько div, я хочу их скрывать и показывать где-то вот так:
$div_1->visible = true;
$div_2->visible = false;
А не через блоки html в php if-ах. И тем более не через echo.
З.Ы. про существование Joomla, Bitrix и прочих cms я знаю. Вопрос стоит именно про голый php.
Спустя 3 минуты (31.12.2010 - 11:19) Guest написал(а):
Я по ссылке давал "php генератор форм", что у тебя там за голодание - шЮтку не понял ....
php работает на низком уровне, все ручками надо делать. Или использовать сделанное чужими ручками. Если сравнивать с asp, то asp = (php+один из php фреймворков). Короче что то типа.
php работает на низком уровне, все ручками надо делать. Или использовать сделанное чужими ручками. Если сравнивать с asp, то asp = (php+один из php фреймворков). Короче что то типа.
Спустя 4 минуты, 21 секунда (31.12.2010 - 11:23) Guest написал(а):
Цитата (Const @ 31.12.2010 - 08:16) |
А не через блоки html в php if-ах. И тем более не через echo. |
В php это делается так. (Или использовать более продвинутые шаблонизаторы. ) Добро пожаловать(и надеюсь до свидание ) в чистый php.
Спустя 6 минут, 9 секунд (31.12.2010 - 11:30) Const написал(а):
Цитата (Guest @ 31.12.2010 - 08:19) |
Я по ссылке давал "php генератор форм", что у тебя там за голодание - шЮтку не понял .... php работает на низком уровне, все ручками надо делать. Или использовать сделанное чужими ручками. Если сравнивать с asp, то asp = (php+один из php фреймворков). Короче что то типа. |
Это была не шутка. А горькая реаль.
Я не могу открыть множество сайтов, они чем-то неугодили китайскому правительству и были закрыты для доступа.
Если голый php совсем голый, значит сейчас все, ну или почти все, php сайты сидят на каких-то доработках, типа Joomla, Bitrix, Facile Forms и так далее, которых пруд пруди, правильно?
Спустя 8 минут, 28 секунд (31.12.2010 - 11:38) Const написал(а):
Цитата (Guest @ 31.12.2010 - 08:23) | ||
В php это делается так. (Или использовать более продвинутые шаблонизаторы. ) Добро пожаловать(и надеюсь до свидание ;) ) в чистый php. |
"до свидание", уже хорошо, все же не "пошел прочь".
Тогда если мне надо изменить внешний вид какого-то элемента это надо делать вот так:
... class='
get_current_class();'...
Функция get_current_class реализует какую-то логику, а в стилях описать тот или иной вид.
Да?
Спустя 14 минут, 18 секунд (31.12.2010 - 11:52) Guest написал(а):
Цитата (Const @ 31.12.2010 - 08:30) |
Если голый php совсем голый, значит сейчас все, ну или почти все, php сайты сидят на каких-то доработках, типа Joomla, Bitrix, Facile Forms и так далее, которых пруд пруди, правильно? |
приблизительно. все к этому идет.
Есть cms - joomla, drupal, bitrix, modx, и еше миллион - позволяют сайт собрать не программисту. Но несколько шаблонный. Программист php(разобравшейся с ними) уже может их "допрограммировать" - модули свои создавать, темизация ...
Плюс - народ просто помешан, т.к. сами владельцы потом без программиста многое со своим сайтом могут сделать. Минус - подтормаживают(и поэтому хостинг дороже брать надо)
Например тот сайт что ты показывал на друпале без программирования собирается.
Есть ООП фреймворки - Zend, symphony, yii, kohana, cakePHP - каркас(логика приложения) ну и готовый код. На них программисты собирают. Больше на фирмах(там где команда над проектом трудится). Имеют свою кривизну обучения(в добавок к php)
Самописы - если у проекта есть деньги на своих программистов, поддержку, небыстрые доделки, готовая структура(а не сегодня одно, завтра другое). Само лучше по скорости можно проект заточить.
Спустя 4 минуты, 44 секунды (31.12.2010 - 11:57) Guest написал(а):
Цитата (Const @ 31.12.2010 - 08:38) |
Да? |
логика такая:
html хранится в шаблонах(с кодом php)
при построении страницы эти шаблоны подгружаются в нужном контексте - чистый html возвращают.
При подгрузке по контексту передаются или формируются переменные для шаблона(стадия препроцесса)
Надо например оформить элемент классом, готовится переменная со списком классов.