[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Несколько, возможно банальных до ужаса, вопросов.
ksk.wolk
Добрый день уважаемые гуру. У меня возникло несколько вопросов при изучении php, а также при практике соответственно. Надеюсь вы сможете доходчиво ответить на мои достаточно банальные вопросы, поехали.

1. Если альтернатива функциям include и require
2. Для чего требуются эти строки кода и как они работают:

if(!defined('NAME'))
{
die("Hacking attempt!");
}

$dl_path = dirname (__FILE__);


3. Аналогичный вопрос:

include (("DOCUMENT_ROOT")."/xxx/xxx.php");




Спустя 36 минут, 5 секунд (14.06.2011 - 13:36) T1grOK написал(а):
1) Разве что include_once, require_once
2)

if(!defined('NAME'))//проверяется существование константы NAME
{
die("Hacking attempt!");//если она не существует выводится сообщение(которое в кавычках) и останавливается сценарий
}

$dl_path = dirname (__FILE__);//определяется директория в которой находистся данный сценарий

3

include (("DOCUMENT_ROOT")."/xxx/xxx.php");//DOCUMENT_ROOT - константа которая содержит путь к корневой директории сервера. Собственно "вставляется" содержимое файла по пути ("DOCUMENT_ROOT")."/xxx/xxx.php"

Спустя 18 минут, 42 секунды (14.06.2011 - 13:55) inpost написал(а):
ksk.wolk
1) Какой смысл? Тебе хочется функцию, у которой последняя буква не E а А, чисто из политических соображений?
2) Проверка на то, определена ли константа, используется в файлах, которые инклюдятся к основному файлу типо index.php, целью является запретить внешне обращаться на прямую к файлу. Константа определяется в index.php, а во всех инклюдных файлах проверяется, была ли она ранее определена, и если нет - останавливается сценарий. Второй вопрос -папка, в которой лежит файл.
3) От рут-адреса сайта к файлу, так как include не работаешь с внешней ссылкой, а автор не пользуется include-path. Имеется ввиду ссылка от корня сайта.

T1grOK
Не читал, поэтому написал от себя.

Спустя 1 час, 30 минут, 29 секунд (14.06.2011 - 15:25) ksk.wolk написал(а):
Ещё парочка банальный вопрос:

1) В чем отличие между
echo "текст"; иecho 'текст'; ?

2) Я всегда использую
echo '';
а если в строку требуется добавить переменную, то пишу так
echo 'текст'.$name.'текст продолжение';

Правильно ли это, или есть более логичные решения?

P.S. Можно по подробней объяснить ответ на 3 вопрос в первом посте. Тоесть в каком-то файле задаётся значение константы, а в последующих она используется, как адрес сайта, я правильно понимаю?

Спустя 35 минут, 57 секунд (14.06.2011 - 16:01) inpost написал(а):
ksk.wolk
1)
$var = 'BEER';
echo 'I love $var \n\rTEXT';
echo "I love $var \n\rTEXT";

- смотрим исходный код страницы :)

2) да, правильно. Только это бывает редко, так как: irbis-team.com, там что-то наподобии MVC, и выводить HTML текст почти не нужен. Разве что: $var = 'text'.$lala.'TEXT2'; , а уже на самой странице просто <?php echo $var; ?>

3) Это константа самого языка, она не задаётся вручную, она существует и указывает на файловый путь на диске: c:\windows01\system32\temp.tmp - такой вид, приблизительно. Она используется как адрес сайта внутри PHP, для HTML надо использовать относительный путь через DOCUMENT_HOST

Спустя 25 минут, 13 секунд (14.06.2011 - 16:26) ksk.wolk написал(а):
Огромное спасибо.

Спустя 13 минут, 35 секунд (14.06.2011 - 16:40) killer8080 написал(а):
inpost
я конечно извеняюсь, но что это за бред
Цитата (inpost @ 14.06.2011 - 16:01)
echo 'I love $beer \n\rTEXT';

всё что внутри одиночных кавычек - это текст, и не каких условных символов перевода строки и переменных там быть не может! Должно быть как то так
echo 'I love '.$beer." \r\n".'TEXT';



Цитата (T1grOK @ 14.06.2011 - 13:36)
include (("DOCUMENT_ROOT")."/xxx/xxx.php");//DOCUMENT_ROOT - константа которая содержит путь к корневой директории сервера. Собственно "вставляется" содержимое файла по пути ("DOCUMENT_ROOT")."/xxx/xxx.php"

??? :huh: откуда взялась такая константа? Кто и где её объявил? И если уж это константа, то почему она в кавычках как текст? Есть переменная окружения $_SERVER['DOCUMENT_ROOT'], а то что там написано полный бред!

Спустя 3 минуты, 29 секунд (14.06.2011 - 16:43) inpost написал(а):
killer8080
Какой бред? Я показал на примере, что интерпретируется в первом варианте текст получится в таком виде:
I love $var \n\rTEXT

А во втором примере:
I love beer 
TEXT

- то есть это и есть отличия. Для этого достаточно код запустить. А в целом я подправил, там не $beer, а $var имелось ввиду. Вопрос: "В чём отличия", я показал на примере.


Насчет константы ты прав, это объявленная константа ранее, я ошибся, не заметил, что отсутствует $_SERVER;


ksk.wolk
В данном случае это обычная константа, и объявлена она была где-то ранее по скрипту, ищи.

Спустя 3 часа, 5 минут, 46 секунд (14.06.2011 - 19:49) killer8080 написал(а):
inpost
извиняюсь, значит я неправильно понял, что имелось ввиду :)
Но по поводу константы: ("DOCUMENT_ROOT") - это всего лишь текст, константа выглядела бы так:
include (DOCUMENT_ROOT."/xxx/xxx.php");

и естественно до этого она должна быть объявлена.

Спустя 2 часа, 55 минут, 33 секунды (14.06.2011 - 22:45) linker написал(а):
Фигню оба порите :) должно быть
echo 'I love ', $beer, " \r\n", 'TEXT';

Спустя 51 минута, 3 секунды (14.06.2011 - 23:36) inpost написал(а):
linker
Я не показывал, как правильно, а как - нет smile.gif Я показывал разницу работы кавычек... =)

Спустя 40 минут, 46 секунд (15.06.2011 - 00:16) linker написал(а):
inpost
Да я знаю smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.