PHP: namespace System\Http\Router; use System\Http\Router\Routes; class Rout extends Routes{ protected $routes = new Routes('SosedMarket'); // Вот так не правильно... И не могу понять как сделать чтобы было правильно... Подскажите пожалуйста. public function __construct($direct, $link) { $this->addRout($direct,$link); } protected function addRout($direct, $link) { $this->routes->addRouts($direct,$link); } protected function getRout () { $this->routes ->getRouts(); } } Но может кто скажет что делаю фигню... Подскажите плиз тогда как лучше реализовать. Я хочу реализовать доступ объекта, на все функции Класса. По одной переменной. Статическая функция мне не подходит. --- Добавлено --- Так вопрос закрыт я идиот... Пока писал и отправлял меня осенило. И я сделал вот так! PHP: <?php /** * Created by PhpStorm. * User: Леонид * Date: 01.05.2016 * Time: 19:08 */ namespace System\Http\Router; use System\Http\Router\Routes; class Rout { protected $routes; public function __construct($routName) { $this->routes = new Routes($routName); } public function addRout($direct, $link) { $this->routes ->addRouts($direct,$link); } protected function getRout () { $this->routes ->getRouts(); } }
@askanim, может я что-то не так понял, но выше в коде тебе не нужно это свойство класса, при наследовании ты можешь обращаться к функциям родителя через $this Например: PHP: class Rout extends Routes { public function addRout() { $this->addRouts(); } public function getRout() { $this->getRouts(); } } PHP: class Routes { protected function addRouts() { echo "addRouts"; } protected function getRouts() { echo "getRouts"; } }
WHAT? Прошу прощения, но там надо было написать без наследования... Я его убрал. Мне нужно было без наследования.
Он глухонемой, если я правильно помню. Из-за этого по другому формулирует мысли, бывает, что их невозможно понять. Так что просто уточняй, если что-то не понятно, что он пишет.
А понятно... Хорошо... Прошу прощения... За грубость... Могли бы вы разъяснить, мне, что я не правильно сделал по вашему? Я не совсем понял ваше замечание.
Там нет наследования... Вы уверены, что вы поняли меня правильно... Ну или я вас так же не понимаю... Я же подписал внизу, что у меня роутер не будет не откуда наследоваться. Это отдельный самостоятельный класс. Я вас понял, не зачем делать вызов тех переменных которые наследуются, данной переменной в классе от которого идёт наследование не существует, это во первых и она должна быть в протектеде. Чтобы из вне класса её не могли изменить. Чтобы не полетела структура моя. Ну и как я написал, я убрал наследование. Опять же с точки зрения безопасности.
вы исползывали родитель класса Routes, но и еше вызываете класс Routes в переменную 2 раза за такой класс. Так зачем? --- Добавлено --- @askanim не смотрел ниже =)