Понимание [закрытых] платформ

Я думаю, вы можете просто использовать OUTER APPLY и TOP 1 для этого

SELECT T1.H_ID AS 'ID',
       T1.NAME,
       T1.ROLE,
       T2.SALARY,
       T3.IMAGE 
FROM TABLE1 T1 
JOIN TABLE2 T2 ON T1.H_ID T2.H_ID  
OUTER APPLY(SELECT TOP 1 T3.IMAGE 
            FROM TABLE3 T3 WHERE T3.IMG_ID = T2.IMG_ID 
            --ORDER BY <column_name> --to take top 1 value in specific order
            ) T3        
WHERE T1.STATUS = 'ACTIVE'
5
задан 12 revs 25 October 2009 в 06:58
поделиться

7 ответов

Разработайте функцию его или исправьте ошибку. При использовании платформы для разработки реального решения можно составить список недостатков для обращения или функции, чтобы добавить, что это сделало бы задачу легче.

Исправление ошибки действительно поможет Вам понять код, потому что большую часть времени Вам дают часть примера кода, который воссоздает его, который можно затем проследить вниз в недра ада для нахождения, где вещи идут не так, как надо.

Все это взятия является персистентность, действительно.

14
ответ дан 18 December 2019 в 05:55
поделиться

После создания многих веб-сайтов 'с нуля' я снова использовал те же сценарии много раз, и я нашел некоторые вещи чрезвычайно утомительными, потому что я никогда не потрудился абстрагировать их далеко прежде для возможности многократного использования. Так, если у Вас есть опыт при создании веб-сайтов, у Вас должно быть довольно хорошее чувство для того, что должна включать Ваша платформа. В противном случае я, вероятно, запустил бы путем размышления о файловой структуре MVC, заставил бы платформу сначала работать с представлениями, затем контроллеры, затем модели. Затем удостоверьтесь, что каждый из тех является легко растяжимым, потому что, неважно, как трудно Вы пробуете, всегда будут вещи, отсутствующие..., и затем только начинать хлопать на утилитах, поскольку Вам нужны они (сформируйте помощников, образцовых помощников, и т.д.). Другими словами, придумайте проект, для которого требуется использовать платформу и создать платформу и веб-сайт одновременно.

3
ответ дан 18 December 2019 в 05:55
поделиться

Возьмите очень простой компонент и проанализируйте код. Например, посмотрите на некоторые компоненты Платформы Зенда (что-то совершенно простое как Zend_Version или, чтобы повыситься немного, но все еще сохранить это простым, Zend_Debug). Выберите их независимо и посмотрите то, что заставляет их отсчитать. Затем попытайтесь записать свой собственный простой компонент.

6
ответ дан 18 December 2019 в 05:55
поделиться

Я знаю, что миру нужно, другому как он нужна дыра в голове, но запись Вашей собственной платформы является отличным способом изучения языка. Я записал довольно полный в PHP менее чем за две недели и узнал адскую партию о PHP и веб-разработке в процессе.

Единственная причина я не выпустил его, состоит в том, потому что я был наконец не доволен способом, которым это управляло состоянием сеанса, но это было хорошим полезным опытом также!

Я думаю, что способ начать дизайн платформы состоит в том, чтобы записать приблизительно 5 основных целей на него. Для моего они были:

  • нацеленный на создание простых веб-приложений приблизительно с дюжиной форм
  • нацеленный на людей с хорошим знанием SQL
  • никакой процессуальный кодекс PHP или иначе (за исключением этого в SPS SQL)
  • никакое программирование HTML/javascript/CSS не необходимо
  • приложение описано в XML
  • работа над ванильным стеком PHP/Apache
  • никакое обслуживание состояния на сервере

Этого было достаточно для запущения меня.

Другое предложение, которое я могу сделать, состоит в том, чтобы попытаться создать приложение с помощью framewark в то же время, что и Вы создаете саму платформу. Это быстро покажет проблемы и предложит идеи для новых направлений abd функции.

2
ответ дан 18 December 2019 в 05:55
поделиться

Вы на правильном пути. Просто помните, что Рим не был создан за один день. Каждый дом создается за более длительный период, кирпич кирпичом.

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

Запустите там, разработайте улучшение и отправьте его сообществу платформ для экспертной оценки. Даже если они решат не включать Вашу работу в платформу, то Вы получите очень ценную обратную связь на своей работе.

Не останавливайте там, используйте то, что Вы изучили в своей первой попытке для второй (и одна треть, в-четвертых, пятый...) Тот способ, которым Вы будете учиться понимать то, что другие ожидают от платформы (который мог бы отличаться очень от Вашего собственного ожидания), и медленно понимают внутренние работы самой hte платформы.

Заключение: Будьте терпеливы и упорно продолжите заниматься. Понимание будет следовать. (Звучит тайным, я знаю. Но это может работать!)

1
ответ дан 18 December 2019 в 05:55
поделиться

необходимо действительно попытаться понять, на высоком уровне, жизненном цикле запроса. вот хороший пример, какой происходит от запроса до ответа в Платформе Зенда, http://framework.zend.com/manual/en/zend.controller.basics.html

1
ответ дан 18 December 2019 в 05:55
поделиться

Существует много вещей, которые включает большинство платформ, хотя определение нечетко.

  • Обеспечьте основной bootstrapper (справьтесь с настройками, установите среду, проверьте на проблемы совместимости между версиями PHP, и т.д.),
  • Маршрутизация URL - Как определить правила, для которых URL указывают на который страницы.
  • Управляйте плагинами, библиотеками, модулями, и т.д.
  • База данных ORM - Управляет объектами вместо того, чтобы писать (упрощенные) SQL-запросы
  • Шаблонная обработка - Обычно включает создание мини-языка для шаблонной логики (циклы, условные выражения), чтобы не иметь код PHP в самом шаблоне.

Вне этого большинство платформ также включает убивание библиотек от простого пользования электронной почтой до усовершенствованного веб-сервиса API.

Я рекомендовал бы двум платформам посмотреть на:

  1. Codeigniter

    Я рекомендую это, потому что это - "батареи, включенные" платформа, которая работает из поля. Это также имеет великое сообщество, много сторонних библиотек. CI имеет немного обмана, чтобы заставить платформу играть по правилам и с PHP4 и с PHP5, который также хорош для знания (потому что по некоторым причинам много людей все еще использует PHP5). Необходимо также смотреть на KohanaPHP, который является ответвлением CodeIgniter, который был переписан как строгая платформа PHP5.

  2. Платформа зенда

    Пехлеви является основанной на модуле платформой. Вместо того, чтобы отбросить все в каталоге и произвести в большом количестве страницы, Вы выбираете части, Вы нуждаетесь и склеиваете их вместе сами. Так как Пехлеви сделан людьми позади механизма позади PHP (перепутанный уже?) это использует "последнее и самое большое" PHP5 - всему Возражают - Ориентированный, и это использует вывод подсказок типа. Очень чистый код, если немного подробный.

Я думаю, что существенный материал является bootstrapper ("связующее звено" для платформы), а также как каждая платформа реализует систему для поддержки сделанных пользователем библиотек и плагинов. Остальные можно найти как автономные приложения в другом месте.

1
ответ дан 18 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: