Class Html_Pdf_Export {
var $first_name;
var $last_name;
//alot of data variables
//How I have it now
function getHtml()
{
$html = "<!DOCTYPE html>
1000 lines of code with data variables
</html>";
$this->html = $html;
return $this->html;
}
function convertToPdf()
{
//function that converts $this->html to Pdf
}
//How I want the function to be but How do I pass all the data variables?
function loadHtml()
{
$html_load_template = new Html_Load_Template('the_template_i_want_to_load_with_data_variables');
$this->html = $html_load_template;
return $this->html;
}
}
У меня есть класс, который преобразует HTML в PDF. HTML, который у меня есть в этом классе, раздут с 1000-1500 строк HTML-кода, который в конечном итоге преобразуется в PDF. Чтобы сделать его менее раздутым, я решил разделить весь html на другой класс с именем Html_Load_Template. Как передать все переменные данных, которые есть у Html_Pdf_Export, в класс Html_Load_Template?
Спасибо
Ну, если я вас правильно понял, вам просто нужно перевести функцию getHtml () в класс Html_Load_Template (ручная работа). Так это будет выглядеть так:
Class Html_Pdf_Export {
var $first_name;
var $last_name;
//alot of data variables
function convertToPdf()
{
//function that converts $this->html to Pdf
}
//How I want the function to be but How do I pass all the data variables?
function loadHtml()
{
$html_load_template = new Html_Load_Template('the_template_i_want_to_load_with_data_variables');
$this->html = $html_load_template->getHtml();
return $this->html;
}
}
а также
Class Html_Load_Template {
public function getHtml()
{
$html = "<!DOCTYPE html>
1000 lines of code with data variables
</html>";
$this->html = $html;
return $this->html;
}
// other functions if needed
}
Я не совсем уверен, как выглядит ваш класс «Html_Load_Template», но в целом, я думаю, вы хотите передать часть «getHtml» в другой файл, верно?
Так что если вы переместите свой код в класс нагрузки …
function getHtml()
{
$html = "<!DOCTYPE html>
1000 lines of code with data variables
</html>";
$this->html = $html;
return $this->html;
}
… Разве это не сработает, если вы получите данные через …
$this->html = $html_load_template->getHtml();