`

cakephp中的datasources

    博客分类:
  • PHP
阅读更多
  cakephp中的数据源其实是个好东西,假如你有多种形式的数据源,比如REST,RSS,
JSON等,你可以编写cakephp的插件,去读取这些数据源.本文以编写一个读取RSS格式数据源
的做例子,讲解其使用.

   代码在http://www.loadsys.com/files/rss_source.zip中可以下载,
把解压的代码放在/app/models/datasources 下,并设置
app/config/database.php如下

  var $codeforestNews = array( 

  'datasource' => 'rss', 

    'feedUrl' => 'http://feeds.feedburner.com/codeforest', 

   'encoding' => 'UTF-8', 

   'cacheTime' => '+1 day', 

);
  接着,创建
/app/models/codeforest_news.php
class CodeforestNews extends AppModel { 

          var $useTable = false; 

          var $useDbConfig = 'codeforestNews'; 

}
  这里说明了,不使用数据库中的表,而直接使用datasource作为数据源
再看控制层:
class NewsController extends AppController { 

        var $name = 'News'; 

       var $uses = array('CodeforestNews'); 

   

        function index() { 

                $this->paginate = array( 

                        'limit' => 10, 

                        'order' => array( 

                                'CodeforestNews.pubDate' => 'desc', 

                         ), 

                ); 

                 $this->set('news',  $this->paginate('CodeforestNews') ); 

        } 

}
  可以看到,甚至是可以排序的.
在页面中:
 
<?php foreach( $news as $newsItem ) : ?>
        <?php echo $html->link($newsItem['CodeforestNews']['title'], $newsItem['CodeforestNews']['link']); ?><br/>
        <em><?php echo $newsItem['CodeforestNews']['pubDate']; ?></em>
        <hr>
<?php endforeach; ?>
<div class="paging">
        <?php echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));?>
|      <?php echo $paginator->numbers();?>
        <?php echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));?>
</div>

DEMO效果为:
http://www.codeforest.net/demo/cake_data_sources/news/index/page:2

查看CAKEPHP手册,可以知道,要写datasources,实现如下方法之一即可:
create($model, $fields = array(), $values = array())
read($model, $queryData = array())
update($model, $fields = array(), $values = array())
delete($model, $id = null)



2
2
分享到:
评论

相关推荐

    cakephp中文手册API

    在CakePHP中,模型通常与数据库表关联,用于执行CRUD(创建、读取、更新、删除)操作。ORM(对象关系映射)是模型层的核心,使得开发者可以用面向对象的方式来操作数据库。 4. **视图(View)**: 视图负责展示...

    cakephp中文手册

    在 CakePHP 中,开发者可以快速地搭建功能丰富的Web应用程序。其主要特点包括: 1. **快速开发**:CakePHP 提供了大量的内置功能,如数据库连接管理、ORM(对象关系映射)、表单处理和验证、自动化的脚手架生成等,...

    cakephp 中文手册

    它代表数据库中的表或数据源,处理业务逻辑,并与视图和控制器交互。 2. **视图(View)**:视图层主要负责展示数据,将模型中的数据转化为用户友好的格式。它通常包含HTML、CSS和JavaScript代码,但不包含业务逻辑...

    CakePHP 1.2 API 中文文档

    在 CakePHP 中,MVC模式是核心设计思想。Model代表数据模型,处理与数据库的交互;View负责展示用户界面;Controller作为模型和视图之间的桥梁,处理用户请求并调用相应的模型方法,然后将数据传递给视图进行渲染。 ...

    cakephp 中文文档

    ### CakePHP 中文文档知识点详解 #### 一、CakePHP 的基本原则 CakePHP 是一款基于 PHP 的开源快速开发框架,采用 MVC(Model-View-Controller)设计模式,旨在提高开发效率的同时保持代码的清晰性和可维护性。其...

    cakephp中文手册.pdf

    在 CakePHP 中,MVC模式被实现得非常直观和易于使用。例如,控制器类通常放在`app/Controller`目录下,模型类位于`app/Model`,而视图文件则位于`app/View`。 **MVC 模式** 虽然手册建议在阅读前了解MVC的基本概念...

    cakePHP 中文手册

    CakePHP有多个特点,这些特点让CakePHP成为了快速开发框架中的佼佼者之一。 1.活跃友好的社区 2.灵活的许可协议(Licensing) 3.兼容PHP4和PHP5 4.数据库交互和简单查询的集成 5.应用程序Scaffolding 6....

    CakePHP 中文手册.rar

    CakePHP是一个开源的PHP on rails的full-stack framework。最开始从Ruby On Rails框架里得到灵感。程序员可使用它来快速创建的Web应用程序。我们的首要目的是使你以一种预置的快速且不失灵活性的方式开展工作。

    CakePHP使用ajax传值

    具体实现方法是:在控制器中使用iconv('utf-8', 'gb2312', $data['parameter'])来转换数据。 3. 路径问题的处理:在Ajax请求中,如果网站页面存在嵌套路径,那么在请求时需要注意URL路径的正确性。在CakePHP中,...

    CakePHP中文手册

    10. **插件(Plugin)**:插件是独立的CakePHP应用,可以方便地集成到项目中,提供了模块化开发的可能性。 11. **错误处理与调试**:涵盖了错误报告、日志记录和调试工具,如DebugKit,它是一个可视化的工具集,...

    PHP的框架之CakePHP-CakePHP教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    cakephp中acl详解

    在CakePHP中,Access Control List(ACL)是一个强大的工具,用于管理应用程序中的权限和访问控制。让我们深入探讨一下CakePHP中的ACL系统。 ### ACL基础概念 **1. ACO (Access Control Object)**:ACO代表要控制...

    CakePHP 1.3中文帮助文档

    CakePHP 1.3中文帮助文档,内容简单易懂并且全面,值得大家下载...

    mvc,mvc手册cakephp中文手册

    标题中的“mvc,mvc手册cakephp中文手册”表明这是一个关于Model-View-Controller(MVC)架构模式的资源,特别是针对CakePHP框架的中文手册。描述部分的重复强调了这一点,暗示这个压缩包可能包含一份详尽的、面向...

    cakephp 框架书籍 英文版

    - **AppController**:介绍了CakePHP中默认的控制器类`AppController`,以及如何继承它来创建自己的控制器。 - **请求参数**:解释了如何处理HTTP请求中的各种参数,如GET、POST数据等。 - **控制器动作**:讲解了...

    PHP的框架之CakePHP-CakePHP教程终极教程

    打包下载,里面有CakePHP的框架源码,下载后可直接使用,版本是1.1的,稳定版;CakePHP的分页组件源码;CakePHP的中文及英文教程,CHM格式;CakePHP的中文打印版教程,WORD格式,下载后可直接打印,方便的;CakePHP...

    cakephp中acl详解.rar

    在 CakePHP 中,Access Control List(ACL,访问控制列表)是一个强大的工具,用于管理用户对资源的访问权限。本教程将深入探讨CakePHP的ACL系统,以便你能够有效地实现安全的用户权限管理。 **1. ACL基本概念** ...

    cakephp-1.2 manual

    在 CakePHP 中,你可以创建数据模型来操作数据库中的表,通过ActiveRecord模式实现数据操作。 4. **视图(View)**:视图用于展示数据,通常与HTML模板结合。手册会教你如何创建和组织视图文件,以及如何使用布局...

Global site tag (gtag.js) - Google Analytics