РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
152 of 258 menu

Поле binary

Поле binary в Doctrine ORM предназначено для хранения бинарных данных, таких как изображения, файлы или зашифрованные строки. Оно соответствует типу BINARY или VARBINARY в базе данных. Первым параметром передаётся имя поля, вторым - массив опций.

Синтаксис

#[ORM\Column(type: 'binary', options: [])]

Пример

Давайте создадим сущность с полем binary для хранения бинарных данных:

<?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; #[ORM\Entity] class Article { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: 'integer')] private int $id; #[ORM\Column(type: 'binary')] private string $data; public function getId(): int { return $this->id; } public function getData(): string { return $this->data; } public function setData(string $data): self { $this->data = $data; return $this; } } ?>

Пример

Давайте запишем бинарные данные в поле data и прочитаем их обратно:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(EntityManagerInterface $em): Response { $article = new Article(); $article->setData('abcde'); $em->persist($article); $em->flush(); $res = $article->getData(); return new Response($res); } } ?>

Результат выполнения кода:

"abcde"

Пример

Давайте сохраним бинарные данные из файла:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/file', name: 'article_file')] public function file(EntityManagerInterface $em): Response { $content = file_get_contents('upload/file.bin'); $article = new Article(); $article->setData($content); $em->persist($article); $em->flush(); $res = $article->getData(); return new Response($res); } } ?>

Результат выполнения кода для файла с содержимым 'hello':

"hello"

Смотрите также

  • поле blob,
    которое хранит большие бинарные объекты
  • поле string,
    которое хранит строковые данные
  • поле text,
    которое хранит длинный текст
  • параметр nullable,
    который разрешает значение NULL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить