Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: include - синоним подпрограммы?
 
 автор: Владимир55   (02.06.2007 в 13:44)   письмо автору
 
 

Во многих языках программирования существуют понятия программного модуля и подпрограммы. Под первым обычно понимается функционально завершенный фрагмент программы, а под вторым - любой фрагмент программы, предназначенный для частого использования в других участках программы или в разных программах. Для подпрограммы характерно наличие входных и выходных данных, связывающих ее с остальными частями программы, и все это присутствует в операторе include. Фактически, include - организатор тела подпрограммы. А если записанные на вызываемом файле коды образуют функционально завершенный фрагмент, то это уже модуль. Причем разграничение между модулем и подпрограммой весьма условное.

Ведь так?

   
 
 автор: Trianon   (02.06.2007 в 13:49)   письмо автору
 
   для: Владимир55   (02.06.2007 в 13:44)
 

include - не синоним подпрограммы.
Это лишь инструкция, которая предписывает перед началом трансляции исходного кода, поместить весь текст из другого файла в точку, где эта инструкция встретилась.
Это справедливо как для С и С-подобных компилируемых языков, так и для PHP.
В PHP есть некоторые ньюансы исполнения этой инструкции, к которым, не обладая достаточным опытом, лучше не прибегать.

   
 
 автор: Ralph   (02.06.2007 в 20:49)   письмо автору
 
   для: Trianon   (02.06.2007 в 13:49)
 

В общем,я для себя для удобства представляю,что интерпретатор заменяет код "include ..." на код инклюдируемой программы.Перейдя с Ассемблера,я часто обжигался на этом.К примеру,файл путь/index.php инклюдит файл путь/папка/sub.php,в котором есть код $a=file("data.txt").В итоге загружается файл по адресу путь/data.txt,а не по адресу путь/папка/data.txt,как я ожидал по логике Ассемблера.Если есть какие-то еще отличия,я сам с радостью о них выслушал бы...

   
 
 автор: Trianon   (02.06.2007 в 20:57)   письмо автору
 
   для: Ralph   (02.06.2007 в 20:49)
 

на мой взгляд, инклудить открытый код (незавернутый в тело функции) вообще крайне дурной тон.
Да и обращаться к файлам без указания полного пути - пожалуй, тоже... (учебные примеры не в счет)

   
 
 автор: sms-send   (02.06.2007 в 20:58)   письмо автору
 
   для: Ralph   (02.06.2007 в 20:49)
 

>для удобства представляю,что интерпретатор заменяет код "include ..." на код инклюдируемой программы.

так и есть

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования