Bonjour,
Voila je rencontre un petit problème avec mon code.
Je cherche à mettre en forme mes Views(Tuto Php objet).
Je me sers d'ob_start comme dans le tuto , cependant je rencontre un soucis losrque je veux appliquer un css à mes vues.
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bushido</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css?family=Oswald" rel="stylesheet">
<!-- Css -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="../../public/css/style.css">
</head>
<body>
<?= $content; ?>
</body>
</html>
Cependant il ne prends pas en compte mon style.css (ni le css bootsrap si je mets un lien vers un fichier ...)
Salut,
Sûrement un problème de path : il te faut mettre le chemin absolu depuis ton dossier public.
Tu devais define une constante pour ton dossier contenant des assets, et te créer un helper :
index.php
// C'est un exemple, ça dépend de l'arbo de ton projet
// Dans ton index.php (dans le cas ci-dessous, il se trouver à la racine du projet)
define('DS', DIRECTORY_SEPARATOR);
define('ASSETS_PATH', __DIR__ . DS . 'public' . DS . 'assets' . DS);
require(__DIR__ . DS . 'helpers' . DS . 'helpers.php');
helpers.php
// Helper
function asset($path = '')
{
$filepath = ASSETS_PATH . $path;
if (!file_exists($filepath)) {
// prévoir la gestion de l'erreur ici
return '';
}
return $filepath;
}
/* ... parmis d'autres helpers */
Et dans ton HTML :
<link rel="stylesheet" href="<?= asset("css/style.css") ?>>
Je précise que je n'ai pas testé mon code, à toi de corriger d'eventuelles erreurs.
Non car tu peux t'en servir pour charger toutes tes assets (css, js, images etc) facilement (et cela permet une vérification de l'existance du fichier au préalable ce qu n'est pas plus mal).
Après tu fais ce que tu veux ;)
PS : Je ne compte que 12 lignes de code, sans compter les commentaires ;)
Y'a rien à comprendre : c'est un fichier dans lequel tu déclares des fonctions dont tu te servira partout dans ton application.
En l'occurrence, le helper asset()
te permet de récupérer plus simplement le chemin vers un asset dans tes views.
Tu peux également imaginer avoir un fichier de config, et accéder à ses propriétés via un asset du style config('db.host') // qui te retournera la clé ['db']['host'] de ton fichier de config
(cf https://www.grafikart.fr/tutoriels/php/poo-collection-php-523)