من داخل فایل helpers.php برای تابع diePage کلاس تعریف کردم و استایل هامو به فایل css پروژه (style.css) اضافه کردم، الان برای اینکه استایلها درون صفحه index.php نمایش داده بشه لازمه که اول tpl-index بارگذاری بشه بعد init یعنی:
<?php
include "tpl/tpl-index.php";
include "bootstrap/init.php";
اول باید قالب که شامل فایل style.css هستش بارگذاری بشه بعد فایل helpers.php که درون init است اون تابع رو با استایلش نشون بده.
که کار بالا اشتباه هستش و مشکلات دیگه ای درست میکنه.
چطور باید این مشکل رو حل کرد؟
محمدرضا۲۷ فروردین ۱۳۹۹، ۲۰:۳۵
بجای یک فایل tpl-index.php میتونید فایل هارو در چند فایل بشکنید:
tpl-header.php
tpl-body.php
tpl-footer.php
محسن موحد۲۷ فروردین ۱۳۹۹، ۲۰:۵۰
فایل init
<?php
include "config.php";
include "constants.php";
include "libs/helpers.php";
/** Database Connection */
try {
$pdo = new PDO("mysql: host=$db_config->host; dbname=$db_config->db; charset=UTF8mb4", $db_config->user, $db_config->pass);
} catch (PDOException $e) {
diePage("Connection Failed: " . $e->getMessage());
}
include "libs/lib-Auth.php";
include "libs/lib-Tasks.php";
فایل helpers
<?php
/** Show messages and die */
function diePage($msg)
{
die("<div class='err'>$msg</div>");
}
فایل index
<?php
include "bootstrap/init.php";
include "tpl/tpl-index.php";
خروجی هم که بدون استایل هستش.
محمدرضا۲۷ فروردین ۱۳۹۹، ۲۰:۵۹
راههای متفاوتی واسه اینکار هست و هر چقدر مباحث جلوتر بره و مخصوصا توو شی گرایی که برسیم، دستمون بازتر هست واسه تولید و مدیریت چنین پیج هایی.
یک راه اینه که پیج tpl-index رو در قسمتهای مجزا تولید کنید تا بتونید برای diePage هم که از اسمش پیداس خودش میتونه یک پیج مدیریت خطا باشه، header و body و footer تولید کنید.
اما ایده ای که برای این قسمت من معرفی میکنم اینه که داخل فایل helpers.php یک تابع با اسم registerCssFile بسازید: (custom کردن ایده با خودتون)