Я хочу сделать переменные и методы в классе php.И хочу использовать двойные кавычки, как я всегда использую не в ООП.Но это не работает, это показывает ошибку.Зачем?Вот мой код:
class myClass {
public $url = "http://www.somesite.com?index=$number"; // this var has url as a value
public $html = "<div> // this var is an HTML code with $url var in href
<a href='$url'>Link</a>
</div>";
public function echoHTML() { // and this is method to echo html code
echo $this->html;
}
}
$obj = new myClass();
$obj->echoHTML();
Проблемы:
1) Это показывает ошибку, если здесь используются двойные кавычки
public $url = "http://www.somesite.com?index=$number";
Когда я изменяю двойные кавычки для одинарных кавычекработает нормально
public $url = 'http://www.somesite.com?index=$number';
Почему?Раньше я всегда использовал двойные кавычки в таком не кодировании OPP и не хотел бы менять свою практику.Или я должен, потому что одинарные кавычки необходимы в PHP ООП?
Также такая же ситуация со второй переменной $ html.Это заставляет меня менять внешние двойные кавычки на одинарные.И внутренние синглы для удвоения.Например:
public $html = '<div>
<a href="$url">Link</a>
</div>';
Хорошо, я изменяю, но здесь появляется проблема # 2.
2) Он не видит значение переменной в href.Когда страница загружена, в URL появляется $url
, а не http://www.somesite.com?index=$number
, как я ожидаю.Как заставить его использовать значение переменной, а не ее имя?