ASP.NET MVC для CakePHP вопросы - PullRequest
       2

ASP.NET MVC для CakePHP вопросы

1 голос
/ 15 апреля 2011

Я занимался ASP.NET MVC в университете в этом году и только затронул некоторые основные принципы, но мне это очень понравилось. Будучи фанатом PHP более 6 лет, я планировал использовать что-то вроде CakePHP, чтобы продолжать использовать шаблон MVC в своей работе.

Однако у меня есть несколько вопросов, поскольку они являются МАССОВЫМИ различиями между двумя системами:

1.) Как кто-то может сделать что-то похожее на LINQ, где, когда бы вы ни делали свой результат действия, вы можете просто создать запрос и затем вернуть его в представление?

2.) Существуют ли репозитории в Cake? Я люблю их в ASP.NET и возможность создавать собственные методы для вашей логики базы данных, а затем вызывать их где угодно.

3.) Путаница с моделью. В ASP.NET я мог иметь дело с одной моделью с большим количеством таблиц, а затем легко вызывать любую таблицу или комбинацию таблиц. В Cake кажется, что у вас есть модель на таблицу ???

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011

CakePHP поставляется с собственным API персистентности, тогда как в ASP.NET MVC вы можете (и должны) использовать что-то другое по вашему выбору.

1) В CakePHP нет эквивалента LINQ,но вы все еще можете создавать запросы довольно легко .

2) К моделям CakePHP могут быть прикреплены функции, и к ним также есть что-то под названием Поведения , которые аккуратны.

3) Система персистентности CakePHP связывает одну модель с персистентной сущностью (такой как таблица).Я не уверен, что смогу дать лучший ответ без более конкретного примера.

Я много работал над PHP, прежде чем перейти к .NET.Хотя я все еще люблю ASP.NET MVC или RoR лучше (в основном потому, что они являются лучшими фреймворками и языками, IMHO, чем PHP), несколько проектов, которые я делал в CakePHP, были очень приятными.

0 голосов
/ 20 апреля 2011

Я не знаком с ASP.NET, но могу ответить на некоторые из этих вопросов.

  1. LINQ ... Я не знаком с. Если Вы могли бы привести простой пример, я мог бы объяснить, если есть подобное метод в торт.
  2. Репозитории, на которые вы ссылаетесь, могут быть Поведение как упомянуто @HackedByChinese. Тем не менее, вы можете получить лучшие результаты, добавив функции в файл app_model.php. Все модели в приложении могут получить доступ к любому функция в файле app_model.php которые могут быть добавлены в ваше приложение каталог.
  3. Да. CakePHP разработан с кодом разделение в уме. Идея позади одна таблица на модель позволяет построить очень толстую модель и до сих пор сохранить это управляемым. Вы строите все отношения, проверка и другой код конкретной модели в каждом модель. Тогда когда что-то идет неправильно с пользователями, например, вы знаю, что нужно искать в пользователях модель. Это может быть отменено, вы можно поместить все модели доступа в один файл модели, если хотите, но это делает код неаккуратным. Если ты собираюсь сделать это, зачем использовать торт? Просто положить весь код вашей модели в Model.php, весь ваш контроллер код в Controller.php и все код вашего представления в View.php и вызов это хорошо. Я думаю, что вы согласитесь это не структура для очень читаемый или расширяемый код.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...