• Какое лучше выбрать поле для первичного ключа в MongoDB?

    L-N
    @L-N Автор вопроса
    Вот как раз я так и задумывался, чтобы оставить поле "_id", и добавить своё "id", присвоив ему индекс с опцией "уникальный". Просто смущает тот факт, что будет два идентификатора в документе, и может быть это как то повлияет на производительность.
  • Как перевести код из C в PHP?

    L-N
    @L-N Автор вопроса
    Это долго и мучительно, и я ищу более легкие пути с наименьшим сопротивлением, может кроме этого варианта вы знаете ещё какие то?
  • Хорошая архитектура symfony app?

    Владимир Балин: по сути XXX-класс может быть как модель, так и служба. Здесь нет чёткого определения, что вот одно точно относится к модели, а другое к службе. Здесь по большому счёту играет роль, такая штука как семантика. То есть сама цель, для чего этот XXX-класс создавался. Допустим, по вашему примеру, и если этот проект на Symfony 2: получить из БД данные и заполнить ими объект (entity - сущность), затем отфильтровать желанный вывод в репозитории (EntityRepository) -и это ещё вообще даже не модель, а стандартные манипуляции с DoctrineORM, хотя и здесь можно поспорить, так нет чёткого отделения и определения, как посчитаете, так и будет. Далее, вы можете придумать, что уже отфильтрованные данные, перед тем, как они через контроллер попадут в представление, где собственно и будет происходить вывод данных, вы захотите сделать какое то особенное действие, например получить из внешнего ресурса похожие данные, сравнять их, сопоставить, и только тогда сделать вывод. Параллельно с этим, с вашим особенным действием, вы хотите вести журнал действий (log). Здесь вы можете разделить вообще на три слоя, например: получить данные из внешнего ресурса - это служба, запись в журнал действий (log) - это ещё одна служба, а сходство данных, сравнение и сопоставление обработать в модели. Можете сделать одну общею службу, или внедрить уже ранее созданную в вашу личную службу, плюс модель обработки. А можете ещё как захотите, или как лучше будет в вашем случае. Вариантов может быть очень много, как я выше писал, нужно исходить из задачи.
    Как видите, уровень слоёв абстракции зашкаливает, и это ещё не предел. Оно реально оправдывается в больших проектах, где нужно поддерживать и расширять, тестировать, и т.д....
  • Хорошая архитектура symfony app?

    Владимир Балин: не использовать службу для "модельных" задач - вот в чём залог успеха.
  • Насколько сильно должна быть заполнена свойствами сущность?

    L-N
    @L-N Автор вопроса
    Я к стати также думал, но от этого производительность не падёт, или какие то второстепенные побочные эффекты не появятся?
  • Отваливается Wi-Fi Ubuntu 14.10 что делать?

    cufino: скорее всего проблема кроется в совместимости. У меня на упаковке маршрутизатора написано, что полностью поддерживает Win7, а про Win8+ вообще ничего, ибо тогда, когда я приобретал маршрутизатор даже Win8 не было. Конечно есть выход в этой ситуации, надо просто использовать драйвер для Win7 на компьютере c Win8+, и тогда всё работает без сбоев.
  • Как работают и зачем нужны ленивые сервисы в Zend Framework 2?

    27cm: разумеется, но ведь службы и классы - это не одно и тоже! В большинстве случаев, как вы выше описали, можно спокойно использовать для классов invokables, factories и не парится, но всё это делается конкретно для какого то класса. А если вам нужно несколько классов, и все они реализуют один общий функционал, будите каждый прописывать, отслеживая зависимости? Для этих целей надо использовать службу, как раз в себе содержит один общий функционал, который в свою очередь состоит из несколько классов (не всегда справедливо), и использовать эту службу как одно целое.
  • Как работают и зачем нужны ленивые сервисы в Zend Framework 2?

    27cm: сама идея с загрузкой, которую я описал выше - сохраняется, но с той лишь разницей, что вы будете туда помещать службы, от которых зависят большая часть вашего функционала (например в каждом модуле, и в каждом контроллере, или в каком то конкретном модуле/контроллере), но он не всегда используется. В документации приводят к примеру подключение к БД, где в принципе чтобы воспользоваться тем, или иным функционалом на сайте, нужно сначала подключится к БД, но ведь не всегда нужен тот или иной функционал. А если мы начнём всё подряд пилить, и что надо, и что не надо - наше приложение очень быстро падёт от нагрузки. Поэтому для таких целей и есть такая особенность, как Lazy Services.
  • Как многократно использовать сущность?

    L-N
    @L-N Автор вопроса
    Александр Объедков: да с этим я уже давно разобрался. Я просто уверен, что существует какой подход к таким задачам. Вот как раз пытаюсь выяснить минимальными затратами... может в этом поможет. Если нет, буду пытаться как то самостоятельно искать выход, или сделать решение.
  • Как многократно использовать сущность?

    L-N
    @L-N Автор вопроса
    Алексей Павлов: я хочу создать пакет управления пользователями на сайте. Кроме того, что каждый аккаунт как минимум должен иметь имя пользователя (username), электронную почту (email), и пароль (password), я хочу ещё сделать возможность добавлять другую информацию об пользователе, например его имя и фамилию, пол, возраст, контактны, и т.д.
  • Как многократно использовать сущность?

    L-N
    @L-N Автор вопроса
    1. Я это прекрасно понимаю, но я просто отталкиваюсь от того факта, что если напрямую делать запросы к БД через консоль, то прописав нужные параметры в insert-запросе, вставка происходит без проблем, нужные поля заполняются, а в недостающие ничего не помещается. Я просто уже не первый раз поднимаю этот вопрос, ибо хочется уже остаточно выяснить как лучше поступить. (как я выяснил, то при "прямом" запросе к БД, в недостающие поля помещается пустая строка, из-за чего кажется что там ничего не было помещено; допускать поле как null я не хочу, по соображению производительности MySQL).
    2. Я уже пробовал и записывать пустую строку по умолчанию, и указывать в аннотациях значение по умолчанию options={"default":0} и nullable=true, и указывать значение непосредственно в конструкторе. Насчёт допущения поля как null, я вообще не хочу, ибо это противоречит оптимизации и производительности MySQL. А указывать пустую строку, или же какое то значение, например "0" - тоже не вариант, потому что как я ранее писал, что со временем количество свойств будет увеличиваться, а это означает, что нужно будет везде отслеживать, чтобы было прописано какое то значение, ибо выбросится исключение. Вообщем как не крути, а надо что-то решать, наверное буду задумываться как бы правильно и уместно использовать пустую строку. Думаю, что надо будет ещё разнести на разные части саму сущность, например Account - необходимая информация для создания учётной записи (username, email, password...), Profile - подробная информация об пользователе (firstName, lastName, gender, age..)... А вы как думаете?
    3. Я к стати этот пакет "FOSUserBundle" просмотрел перед созданием собственного. Может это будет выглядеть как "изобретение велосипеда", но я не смогу понять как оно работает, если буду использовать уже готовые. Поэтому хочется разобраться во всех тонкостях...
  • Как многократно использовать сущность?

    L-N
    @L-N Автор вопроса
    Я это прекрасно понимаю, но я просто отталкиваюсь от того факта, что если напрямую делать запросы к БД через консоль, то прописав нужные параметры в insert-запросе, вставка происходит без проблем, нужные поля заполняются, а в недостающие ничего не помещается. Я просто уже не первый раз поднимаю этот вопрос, ибо хочется уже остаточно выяснить как лучше поступить. (как я выяснил, то при "прямом" запросе к БД, в недостающие поля помещается пустая строка, из-за чего кажется что там ничего не было помещено; допускать поле как null я не хочу, по соображению производительности MySQL)
  • Как правильно организовать структуру приложения?

    27cm: я использую ZF2 и SF2 среди PHP framework-ов. Именно в ZF2 используются все тонкости и нюансы самого PHP-ядра, все встроенные в него особенности, и это всё в безупречной компоновке php-patterns. Проще говоря ничего лишнего, только "чистый" PHP. Работа с этим framework-ом крайне затруднительная, потому что приходится иметь иметь дело с низкоуровневым слоем абстракции, что ОООчень сложно понять начинающим, и даже более продвинутым. Приходится делать всё в ручную, что требует знание PHP на высоком уровне, а также php-patterns. Это как раз тот framework, на котором можно создавать систему из нуля. Мне удалось создать простое web-приложение, которое обрабатывало данные из БД. Всё это без использования ORM, и не используя PDO (использовал расширение mysqli). Работало ну ОООчень быстро, по сравнению с той же SF2 (сделал для интереса аналог на symfony). А с другими PHP framework-ами я даже не возился, ибо не достают по функционалу.
  • Как реализовать пользовательскую вставку?

    L-N
    @L-N Автор вопроса
    keltanas: утешайте себя и дальше своими иллюзиями.
  • Как реализовать пользовательскую вставку?

    L-N
    @L-N Автор вопроса
    keltanas:
    3. То есть правильное и культурное общение считается комплексом и занижением самооценки? Судя по вашему ответу, вы слишком высоко задираете свой нос, смотрите не споткнитесь в обществе!
    2. Именно контролер этим и занимается, но чтобы его не громоздить, пишут всё в отдельные файлы-классы, которые именуют что-то вроде (Model, Service...). Выносить этот мизер в другой файл нету смысла, тем более что это всего лишь разработка в целях общего понимания. Этот кусок кода взят с примеров официальной документации... Хотите и дальше утверждать, что там нету никакой "логики"?
    1. Разумеется, что всё это можно и самому решить. Более того, я даже признаю, что я действительно поленился... Но вопрос же не в этом!? Если кто-то ранее уже стыковался с этой загвоздкой, и знает её решение, так зачем мне тратить своё время и ресурсы, пытаясь этим что-то себе, или кому то доказать?!
    -и-
    Вот действительно знающий Pavel Hudinsky Pavel Hudinsky дал мне ответ, без лишних излишеств. И я ему благодарен, отличия от некоторых...
  • Как реализовать пользовательскую вставку?

    L-N
    @L-N Автор вопроса
    keltanas:

    1. Все сущности и формы у Symfony & DoctrineORM однообразны, надо лишь знать свойства, что вообщем то я и сделал; перечислил их в самом вверху.


    2. Информации действительно было достаточно; вот даже один человек сверху понял о чём идёт речь. А в контроллере вся логика приложения, она уже у каждого своя - индивидуальная. Я посчитал нужным проинформировать, если кому то это действительно понадобится.


    3. По вашем первом сообщении, вы неявным образом выразили своё превосходство в выёживании, мол ты такой весь не организованный, надо так, и вот так...а по сути вообще ничего не посоветовали. Что вам мешало по человечески написать, что-то тип этого: "Очень мало информации, я не могу понять вашей проблемы, напишите более подробнее."?!