#php #class #oop #object #include
#php #класс #ооп #объект #включить
Вопрос:
Я работаю над созданием движка шаблонов PHP. У меня возникает проблема, и я хотел бы получить несколько указаний о том, как это исправить.
Я пытаюсь использовать объект в файле, который включен тем же объектом. Я пытался вызвать $Views-> get_link(«GitHub»); но, к сожалению, он говорит, что переменная не найдена. Кажется, я не могу найти способ заставить это работать.
Вот код:
button.view.php:
<a class="btn btn-lg btn-success " href="<?php $Views->get_link("GitHub"); ?>">
views.php:
function load_view($view) {
$viewpath = ZEAM_VIEW_BASEDIR.'/'.$view.ZEAM_VIEW_SUFFIX;
if (file_exists($viewpath)) {
include($viewpath);
}
}
Запуск объекта:
// Okay, we're ready to start it up!
require('core.php');
$ZeamEngine = New Zeam(true);
require('modules.php');
require('views.php');
$Modules = New Modules($ZeamEngine);
$Views = New Views($ZeamEngine);
// Custom code for this
$Modules->load_module("ZeamRequisChecker");
$Views->add_link("GitHub", "http://github.com/Alphasquare/Zeam/");
Как бы я это сделал? Если вам нужна дополнительная информация или файлы, просто спросите.
Комментарии:
1. Это действительно необходимо?
2. @Sven Ваш комментарий не имеет отношения к делу и не отражает предположительно доверенного пользователя с оценкой репутации 13 639. Вы пытаетесь отговорить задавшего этот вопрос от изучения и создания чего-либо; это не очень хороший способ приветствовать нового пользователя в Stack Overflow.
3. @Nathan, я предполагаю, что Свен сказал что-то об изобретении колеса для создания языка шаблонов, но он сказал это не очень конструктивно. Хотя мой комментарий не касается вашего ответа, Серджио, я чувствую, что важно посмотреть на то, что уже доступно, не для того, чтобы отговорить вас от самостоятельного создания и обучения, а для того, чтобы понять, какие основные проблемы связаны с созданием движка шаблонов и как множество различных движков шаблонов PHP их решили.
4. Разве вы, ребята, не получаете инициативу делать что-то по-другому?
5. И нет, он говорил о количестве движков и прочем.
Ответ №1:
если load_view
это метод представлений класса, если button.view.php
это файл, который включен в метод load_view
— вам нужно использовать $this
вместо $Views
.
<a class="btn btn-lg btn-success " href="<?php $this->get_link("GitHub"); ?>">
Комментарии:
1. Я попробую. Одна минута.
2. Хороший братан! Мне нравится этот ответ! Работает. @sectus