当前位置: 首页 > news >正文

网站开发必学的技巧有哪些营销型网站建设iop

网站开发必学的技巧有哪些,营销型网站建设iop,技术外包平台,有限公司网站建设 互成网络地址 四川好吧#xff0c;在处理Data Access Layer #xff0c;您必须考虑的第一件事是该层还具有子层 #xff0c;在现代框架中很难找到名为“ dal”的文件夹(我以Zend为基础框架和Symfony)。其次#xff0c;关于ActiveRecord #xff0c;您必须知道默认情况下Zend Frameworks 不会…好吧在处理Data Access Layer 您必须考虑的第一件事是该层还具有子层 在现代框架中很难找到名为“ dal”的文件夹(我以Zend为基础框架和Symfony)。其次关于ActiveRecord 您必须知道默认情况下Zend Frameworks 不会实现它 。 大多数教程都采用最简单的方法来教授新概念。 通过简单的示例 业务逻辑的数量很少因此它们没有添加另一层复杂性(在数据库和模型对象之间进行映射)而是通过两种基本模式构成了domain layer (模型) Table Data Gateway和Row Data Gateway 。 对于初学者来说这是足够的信息。在对其进行分析之后您将看到ActiveRecord和行数据网关模式之间的一些相似之处。 主要区别在于ActiveRecord对象(可持久实体) 承载业务逻辑而行数据网关仅表示数据库中的一行 。 如果在代表数据库行的对象上添加业务逻辑则它将成为ActiveRecord对象。此外在Zend Framework 快速入门之后 在域模型部分 您将意识到还有另一个组件它使用了Data Mapper Pattern 。因此如果您的DAL的主要目的是在业务对象(模型)和存储之间映射数据则此任务的职责将委托给数据映射器 如下所示class Application_Model_GuestbookMapper{public function save(Application_Model_Guestbook $guestbook);public function find($id);public function fetchAll();}这些方法将与Database Abstraction Layer进行交互并使用数据填充域对象。 遵循以下原则public function find($id, Application_Model_Guestbook $guestbook){$result $this-getDbTable()-find($id);if (0 count($result)) {return;}$row $result-current();$guestbook-setId($row-id)-setEmail($row-email)-setComment($row-comment)-setCreated($row-created);}如您所见 Data Mappers与Zend_Db_Table实例进行交互该实例使用Table Data Gateway Pattern进行交互。 另一方面 $this-getDbTable-find()返回Zend_Db_Table_Row的实例该实例实现行数据网关模式 (这是代表数据库行的对象)。提示 domain object本身的guestbook实体 并没有通过在DataMapper的的find()方法创建的 相反这个想法是 对象的创建工厂的任务 你必须注入的依赖以实现所谓的依赖倒置原则(DIP) (SOLID原则的一部分)。 但这是另一个问题超出了问题的范围。映射的东西从这里开始$guestbook-setId($row-id)-setEmail($row-email)-setComment($row-comment)-setCreated($row-created);到目前为止我想我已经回答了您的主要问题您的结构如下application/models/DbTable/Guestbook.phpapplication/models/Guestbook.phpapplication/models/GuestbookMapper.php因此如ZF快速入门中所示class GuestbookController extends Zend_Controller_Action{public function indexAction(){$guestbook new Application_Model_GuestbookMapper();$this-view-entries $guestbook-fetchAll();}}也许您想为数据映射器创建一个单独的文件夹。 只是改变application/models/GuestbookMapper.php至application/models/DataMapper/GuestbookMapper.php班级名称将是class Application_Model_DataMapper_GuestbookMapper我已经看到您想将domain model objects分成模块。 同样您可能需要遵循ZF的modules目录和命名空间指南 。最后提示我花了很多时间编写自己的数据映射器以最终意识到当应用程序与许多相关实体一起增长时维护对象映射是噩梦 。 (例如包含对用户对象的引用的Account对象包含角色的用户等等)在这一点上编写映射内容并不容易。 因此如果您确实想要一个真正的对象关系映射器我强烈建议您首先研究遗留框架如何执行此类任务并可能使用它。 因此使用Doctrine 2可以节省一些时间这是迄今为止使用DataMapper模式的最佳(IMO) 之一 。而已。 您仍然可以使用/dal目录存储DataMappers只需注册名称空间 以便自动加载器可以找到它。
http://www.sadfv.cn/news/222519/

相关文章:

  • 投资理财产品的网站建设软件搭建平台
  • 电子商务网站有哪些企业网站 哪个cms好
  • 加盟产品网站建设方案上海广告投放公司
  • 营销型网站建设市场分析做网站有必要吗
  • 金融网站排名优化网站建设开源
  • 做电商网站商标赣州seo外包
  • 网站开发协义购物网站哪个最好
  • 简单描述一下网站制作的流程亲水平台设计
  • 徐州IT兼职网站开发网站建设公司生存
  • 互联网 网站建设做户外旅游网站
  • 网上做网站网站代理赚钱吗专业行业网站建站报价
  • 网站导航怎么用ulli做泰和网站建设
  • 曰本免费网站装修的app哪个最好
  • 厦门建设银行官方网站站长工具网址查询
  • 高明网站设计报价wordpress返回前页
  • 杭州网站制作机构凡科论文送审平台
  • 做网站需要什么技术国外专门做童装的网站有哪些
  • 建网站怎么做专家网络公司排名
  • 做随车吊网站要多大北京网站制作建设公司哪家好
  • 网站的导航栏设计文本怎么注册网站卖东西
  • 建设银行北京市财满街分行网站婚嫁网站设计
  • 科技成果转化网站建设方案郑州app制作
  • 滨州北京网站建设价格昆明网站开发多少钱
  • 微信建设网站wordpress 实时预览
  • ICP备案域名网站无锡崇安网站建设
  • seo网站推广教程为什么没人做同城购物网站
  • 网站的seo如何优化自建网站教程
  • 成都住建局官网查房源网站只做优化
  • 企业网站代建设企业做网站上海
  • 咖啡网站设计建设佛山网站建设怎么选