ZendFramework Что там по Гайдам ZF3?

Vano

Новичок
Начал изучать ZF3, а гайд, я так понимаю, пока только для ZF2, + мигрирование на ZF3 + гайды компонентов. Помогите составить роадмап для изучения. (если знаешь количество нужных знаний - учишься легче).

Допустим из паттернов ООП я знаю только: синглтон, фактори метод, фасад;
более менее понимаю о чем речь: data mapper, identity object.
уверен, для того чтобы запомнить как биндить и куда пихать, нужно знать Dependency injection, di Container.

Учить ZF expressive, (паралелньо паттерны DI, фасады, фактори, и всё что связано с БД и моделями, мидлверы, "трубные линии"))), потом тот оставшийся от ZF2 гайд, потом миграцию, потом новых компонентов? Или я чето пропустил.
 

Vano

Новичок
И забегая на перед (хотя вопрос не по зенду, но думаю зендеры точно знают что ответить):
Если я по всем канонам репозитория создам новую запись
PHP:
public function saveAlbum(Album $album)
...
$this->tableGateway->insert($data);
return;
...
, то в каком месте я должен взять record ID, чтобы перенаправить создателя на стринцу редактирования?
 

Sufir

Я не волшебник, я только учусь
в каком месте я должен взять record ID, чтобы перенаправить создателя на стринцу редактирования?
Бери в самом начале, не ошибешься:
PHP:
$id = $identityGenerator->next();
$album = new Album($id);
$repository->save($album);
// ...
 

Vano

Новичок
Оки, а next() это как он берет некст? Со information schema (если мускул) ? Или может ласт рекорд айди + 1? И не будет ли наложений айдишников, если очень много запросов одновременно? Если будет то о чем еще нужно знать?
 

Vano

Новичок
Оки, а next() это как он берет некст? Со information schema (если мускул) ? Или может ласт рекорд айди + 1? И не будет ли наложений айдишников, если очень много запросов одновременно? Если будет то о чем еще нужно знать?
Или тут шанс на столько мал, что ним можна принебречь(то-есть, если что-то пойдет не так, выпустить ошибку, мол повторите попытку еще раз).
 

Вурдалак

I'd like to model your domain
Ты пишешь сообщения слишком быстро, не успев обдумать. Пиши меньше.
 

Vano

Новичок
хооооороооооошоооооо яаааа бууууудуууу мееееедлееееенннеееееее еееееееее))
 

Vano

Новичок
Ну всё же(я перечитал), я не нашел ответ на свой вопрос про метод некст().
 

Вурдалак

I'd like to model your domain
Оки, а next() это как он берет некст?
Он имел в виду сделать реализацию генератора id. К примеру, на MySQL это можно сделать так: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id (ищи по слову «sequence»).

uuid? а нельзя без?
Это может быть и UUID, но необязательно.
 

Vano

Новичок
Он имел в виду сделать реализацию генератора id. К примеру, на MySQL это можно сделать так: http://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id (ищи по слову «sequence»).


Это может быть и UUID, но необязательно.
Спасибо. Но я это и понял)) Дело в том что не знаю каким методом это сделать, чтоб поменьше было провалов.
 

Вурдалак

I'd like to model your domain
Всем пофиг на провалы (если ты под этим словом подразумеваешь «дырки» в последовательности id-шников).
 

Вурдалак

I'd like to model your domain
Та даже не в последовательности. а провал записи в БД изза Unique
Если ты про это, то ты невнимательно прочитал то, что написано по ссылке. Там предлагается вполне себе потокобезопасный вариант получения id-шника. Параллельный поток, вызвав ->next(), получит уже другой id.

Я ещё раз тебе рекомендую внимательнее читать и поменьше писать.
 

Vano

Новичок
Спасибо. Щас прочитаю, но не надо еще раз)) Я в первый раз всё понял.
 

Vano

Новичок
Если ты про это, то ты невнимательно прочитал то, что написано по ссылке. Там предлагается вполне себе потокобезопасный вариант получения id-шника. Параллельный поток, вызвав ->next(), получит уже другой id.

Я ещё раз тебе рекомендую внимательнее читать и поменьше писать.
Гениально просто) Думаю я бы и сам дошел до такого варианта, если б подумал над этим
 
Сверху