Начал изучать ООП, в качестве эксперимента решил создать класс, который генерирует input:
class Form
{
public function CreateInput($class="", $type="", $name="", $value="")
{
print "<input class=\"".$class."\" type=\"".$type."\" name=\"".$name."\" value=\"".$value."\">";
}
}
$obj = new Form();
$obj -> CreateInput("cl1", "text","test","ТЕКСТ");
В итоге получил:
<input class="cl1" type="text" name="test" value="ТЕКСТ">
Можно ли реализовать класс таким образом, чтобы можно было назначать свойства объекту класса явно, в порядке, независящем от порядка следования аргументов в методе CreateInput() ?
Например:
$obj -> CreateInput($obj->value="Текст",$obj->name="test",$obj->type="text"); (класс стилевой специально не указал), и получить что нибудь в роде:
<input type="text" name="test" value="ТЕКСТ">
Спасибо!
Примечание:
SperoMeliora, если я тебя правильно понял, то должно получиться нечто похожее на следующее:
<?php
class Form
{
function __construct() {
$this -> type = "";
$this -> name = "";
$this -> value = "";
}
public function CreateInput()
{
print "<input type=\"".$this -> type."\" name=\"".$this -> name."\" value=\"".$this -> value."\">";
}
}
$obj = new Form();
$obj -> CreateInput($obj -> type = "text", $obj -> value = "ТЕКСТ");
?>
На выходе получаем:
<input type="text" name="" value="ТЕКСТ">
Отчасти то, что мне нужно) А можно ли встроенными средствами контролировать, неуказанные атрибуты? Т.е. скажем если значение атрибута name не указано при обращении то не выводить его в принципе? Например для моего случая получить вывод:
<input type="text" value="ТЕКСТ">
Или же потребуются типичные ухищрения с помощью конструкций if else ?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.