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

Форум PHP

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

 

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

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

тема: Об основах php и cookies
 
 автор: Страус   (07.09.2009 в 18:35)   письмо автору
 
 

Прочитал весь учебник по php и понял, что некоторых очень ценных вещей я в нем недосчитался.
1) Мы вместе с друзьями пишем проект. Опыт такой уже был, но в виде сайта впервые(раньше на дельфи писали). Тогда у нас была весьма простая система: создавали юнит utils.pas, в котором в свою очередь uses utils_kirill.pas, uses utils_nikita.pas и так далее. А каждый свой юнит utils_name.pas редактирует соответствующий человек. Получалось очень удобно: все мелкие функции и процедуры запихиваем туда, а потом просто в каждом юните пишем uses utils.pas. Код становится удобночитаемым, ошибки искать и исправлять намного проще. Но в php я пока такого не нашел. Конечно, можно создать отдельные файлы, а оттуда все функции копипастить в нужный, но от этого файлы раздуваются в размере(что для больших проектов, особенно в интернете, очень нехорошо), а самое главное, читать всю эту фиготень становится нереально. Собственно, вопрос в том, можно ли сделать что-то аналогичное, создав файл, в котором будут описаны необходимые функции, а дальше на него просто ссылаться?

2) Про cookies
Здесь, признаться, не понял почти ничего. Даже до определения толком не доехал:) Буду крайне признателен тому, кто попробует это переформулировать попонятнее.

Спасибо.

  Ответить  
 
 автор: Trianon   (07.09.2009 в 18:41)   письмо автору
 
   для: Страус   (07.09.2009 в 18:35)
 

1)
require_once('utils.php'); 

  Ответить  
 
 автор: Страус   (07.09.2009 в 18:48)   письмо автору
 
   для: Trianon   (07.09.2009 в 18:41)
 

Спасибо. А что формально делает эта функция? Как я понял, я смогу использовать все функции, объявленные в utils.php. А как насчет глобальных переменных? И как эта функция дружит с кодом, написанным в utils.php, но не объявленным, как функция? Он просто игнорируется или выполняется целиком?

  Ответить  
 
 автор: Trianon   (07.09.2009 в 19:09)   письмо автору
 
   для: Страус   (07.09.2009 в 18:48)
 

>Спасибо. А что формально делает эта функция?

То, что написано в мануале.

>Как я понял, я смогу использовать все функции, объявленные в utils.php.

сможете.


>А как насчет глобальных переменных?

Файлы не обладают отдельной областью видимости. Как ведет себя текст в основном файле - также будет вести текст и в подключаемом.


>И как эта функция дружит с кодом, написанным в utils.php, но не объявленным, как функция?
>Он просто игнорируется или выполняется целиком?

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

  Ответить  
 
 автор: cheops   (07.09.2009 в 19:22)   письмо автору
 
   для: Страус   (07.09.2009 в 18:48)
 

Как правило, в таких файлах объявляются только функции или части интерфейса, которые должны появится на странице один раз. Т.е. поместить туда глобальный объект, массив или переменную не получится - эти значения не передаются Web-сервером, если вы специально не организовываете этот процесс при помощи cookie или сессий и соответственно обмениваться через эту конструкцию данными не получится. А вот разделить зоны отвестенности между разработчиками - запросто - самый подходящий инструмент.

  Ответить  
 
 автор: cheops   (07.09.2009 в 19:19)   письмо автору
 
   для: Страус   (07.09.2009 в 18:35)
 

2) Модули в программе зачастую используют единый объем памяти - будь то общие объекты, массивы или переменные. К сожалению, протокол HTTP не поддерживает сессионность - вы устанавливаете значение переменных, а они сбрасываются при следующем обращении к скрипту. Для того, чтобы передавать ранее установленные состояния приложения от страницы к странице (или при перезагрузки страницы) были введены механизмы сессий и cookie - по сути это глобальные массивы, через которые вы можете передавать значения переменных от страницы к странице.

  Ответить  
Rambler's Top100
вверх

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