-
Notifications
You must be signed in to change notification settings - Fork 39
Http
Пакет, который объединяет в себе следующие классы:
-
Http\Request- наследникAbstractRequest -
Http\Response- наследникAbstractResponse -
Http\CacheControl- расширение для формирования заголовков для работы с механизмом кеширования -
Http\File- обёртка для работы с загружаемым файлом -
Http\FileUpload- обработчик загружаемых файлов
Нет
Функционал аналогичен Request, расширен следующими функциями:
// return http|https
$Request->getScheme();
// get request method GET/POST/PUT/DELETE
$Request->getMethod();
// get $_GET data
$Request->getQuery($key, $default);
// get $_POST data
$Request->getPost($key, $default);
$Request->getCookie($key, $default);
$Request->getServer($key, $default);
$Request->getEnv($key, $default);
$Request->getHeader($header);
$Request->getHttpHost();
$Request->setBaseUrl($baseUrl);
$Request->getBaseUrl();
$Request->getClientIp($checkProxy = true);
// return bool
$Request->isXmlHttpRequest();
// return bool
$Request->isFlashRequest();Функционал аналогичен Response
с версии 0.8.0
Для использования данного класса следует использовать соответствующий Proxy - HttpCacheControl:
use \Bluz\Proxy\HttpCacheControl;
HttpCacheControl::setPublic();
HttpCacheControl::setSharedMaxAge(3600);
HttpCacheControl::setLastModified(new \DateTime('2014-02-20 13:42:00'));В результате выполнения данного скрипта в заголовки будет добавлена соответствующая запись:
Cache-Control: public, s-max-age=3600
Last-Modified: Wed, 20 Feb 2014 13:42:00 GMT
Пример формы для аплоада картинки:
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="avatar" accept="image/*" required />
<button type="submit">Upload</button>
</form>Пример получения файла из запроса:
$fileUpload = $this->getRequest()->getFileUpload();
$file = $fileUpload -> getFile('avatar'); // return HttpFile
/* protected
$file->name; // myFace
$file->ext; // jpg
$file->type; // images/jpeg // finfo::file($this->tmp_name, FILEINFO_MIME_TYPE);
$file->size; // 23 000
*/
$file->getSize(); // = 23 000
$file->getSize('kb'); // = 23 000 / 1024
$file->getSize('mb'); // = 23 000 / (1024 * 1024)
if (!$file->hasError() && $file -> isImage()) {
$file -> setName("avatar");
$file -> moveTo('/path/to/save'); // save as /path/to/save/avatar.jpg
}
$files = $fileUpload -> getFiles('photos'); // return array
foreach ($files as $file) {
// logic similar to prevous example
}Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View