2017-02-13 2 views
-1

У меня есть два файла: home.php и head.php. В home.php это:PHP "require" с константами

<?php 
    define('FILE_TITLE', 'Home'); 
    define('STLYESHEET_1_HREF', 'css/home.css'); 
?> 
<html> 
    <?php require 'head.php' ?> 
    <!-- Some HTML --> 
</html> 

И в head.php:

<head> 
    <title><?php echo FILE_TITLE; ?></title> 
    <?php if (defined('STYLESHEET_1_HREF')): ?> 
    <link rel="stylesheet" href="<?php echo STYLESHEET_1_HREF ?>"> 
    <?php endif; ?> 
    <!-- Some PHP&HTML --> 
</head> 

FILE_TITLE работает нормально, но это не будет идти в Условный оператор. Что я делаю не так?

+0

Изменить эту строку:

+1

@KishanPatel Это неправильно. Точка с запятой заканчивается блоком 'if'. – Barmar

+1

орфографическая ошибка, определить STLY –

ответ

2
define('STLYESHEET_1_HREF', 'css/home.css'); 

href="<?php echo STYLESHEET_1_HREF ?>"> 

У вас есть опечатка.

изменение STLYESHEET_1_HREF в определении, STYLESHEET_1_HREF и он будет работать нормально.

+2

Для опечаток просто опубликуйте это как комментарий и проголосуйте за закрытие. – Barmar

+0

Хорошо, теперь он работает. Эти опечатки однажды разрушат мою жизнь. – NiciBozz

+0

Re typos: Урок для изучения здесь - использовать достойную IDE. Вы получите намного меньше опечаток, если ваша среда IDE дает вам авто-полное предложение обо всем. – Simba

0

Также вы можете использовать

<?php 
    const FILE_TITLE = 'Home'; 
    const STYLESHEET_1_HREF = 'css/home.css'; 
?> 

и

<title> 
    <?php echo !empty(FILE_TITLE) ? FILE_TITLE : 'Some Default Title' ; ?> 
</title> 
<?php if (!empty(STYLESHEET_1_HREF)): ?> 
    <link rel="stylesheet" href="<?php echo STYLESHEET_1_HREF ?>"> 
<?php endif; ?> 
Смежные вопросы