【php中关于socket的系列函数总结_PHP】教程文章相关的互联网学习教程文章

Yii框架官方指南系列25——使用数据库:ActiveRecord

虽然 Yii DAO 可以处理几乎任何数据库相关的任务, 但很可能我们会花费 90% 的时间以编写一些执行普通 CRUD(create, read, update 和 delete)操作的 SQL 语句。 而且我们的代码中混杂了SQL语句时也会变得难以维护。要解决这些问题,我们可以使用 Active Record。Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术。 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 AR 类中体现为类的属性,一个 AR 实例则...

Yii框架官方指南系列26——使用数据库:关系型ActiveRecord【图】

我们已经了解了怎样使用 Active Record (AR) 从单个数据表中获取数据。 在本节中,我们讲解怎样使用 AR 连接多个相关数据表并取回关联(join)后的数据集。为了使用关系型 AR,我们建议在需要关联的表中定义主键-外键约束。这些约束可以帮助保证相关数据的一致性和完整性。为简单起见,我们使用如下所示的实体-关系(ER)图中的数据结构演示此节中的例子。信息: 对外键约束的支持在不同的 DBMS 中是不一样的。 SQLite < 3.6.19 不支...

Yii框架官方指南系列增补版27——使用数据库:数据库迁移

注意: yii从版本1.1.6以后才开始支持数据库迁移特性。和源码一样,数据库的结构也随着我们开发和维护数据库驱动应用而不断壮大.例如,在开发期间,我们可能想要添加一个新的表; 或者在应用投入生产期以后,我们可能会意识到需要在某个列上添加索引. 跟踪这些数据库结构的改变(被称作迁移)和操作源代码一样很重要.如果源码和数据库不同步了,可能这个系统都会中断。正是因为这个原因,Yii框架提供了数据库迁移工具,以便跟踪数据库...

Yii框架官方指南系列7——基础知识:控制器

控制器是 CController 或其子类的实例。它在当用户请求时由应用创建。 当一个控制器运行时,它执行所请求的动作,动作通常会引入所必要的模型并渲染相应的视图。 动作 的最简形式,就是一个名字以 action 开头的控制器类方法。控制器通常有一个默认的动作。当用户的请求未指定要执行的动作时,默认动作将被执行。 默认情况下,默认的动作名为 index。它可以通过设置 CController::defaultAction 修改。如下是一个控制器类所需的最简...

Yii框架官方指南系列8——基础知识:模型

模型是 CModel 或其子类的实例。模型用于保持数据以及与其相关的业务逻辑。模型是单独的数据对象。它可以是数据表中的一行,或者一个用户输入的表单。 数据对象的每个字段对应模型中的一个属性。每个属性有一个标签(label), 并且可以通过一系列规则进行验证。Yii 实现了两种类型的模型:表单模型和 Active Record。二者均继承于相同的基类 CModel。表单模型是 CFormModel 的实例。表单模型用于保持从用户的输入获取的数据。 这些...

Yii框架官方指南系列9——基础知识:视图

视图是一个包含了主要的用户交互元素的PHP脚本.他可以包含PHP语句,但是我们建议这些语句不要去改变数据模型,且最好能够保持其单纯性(单纯作为视图)。为了实现逻辑和界面分离,大段的逻辑应该被放置于控制器或模型中,而不是视图中。视图有一个名字,当渲染(render)时,名字会被用于识别视图脚本文件。视图的名称与其视图脚本名称是一样的.例如:视图 edit的名称出自一个名为 edit.php 的脚本文件.要渲染时如,需通过传递视图的名称调用...

Yii框架官方指南系列10——基础知识:组件

Yii 应用建立于组件之上。组件是 CComponent 或其子类的实例。使用组件主要涉及访问它的属性以及触发或处理它的时间。 基类 CComponent 指定了如何定义属性和事件。1. 组件属性组件的属性就像对象的公共成员变量。它是可读写的。例如:$width=$component->textWidth; // 获取 textWidth 属性 $component->enableCaching=true; // 设置 enableCaching 属性要定义一个组件属性,我们只需在组件类中定义一个公共成员变量即可。更...

Yii框架官方系列指南系列11——基础知识:模块

注意: 版本 1.0.3 起支持模块。模块是一个独立的软件单元,它包含 模型, 视图, 控制器 和其他支持的组件。 在许多方面上,模块看起来像一个 应用。主要的区别就是模块不能单独部署,它必须存在于一个应用里。 用户可以像他们访问普通应用的控制器那样访问模块中的控制器。模块在一些场景里很有用。对大型应用来说,我们可能需要把它划分为几个模块,每个模块可以单独维护和部署。一些通用的功能,例如用户管理, 评论管理,可以以模...

Yii框架官方指南系列12——基础知识:路径别名与名字空间

Yii 中广泛的使用了路径别名。路径别名关联于一个目录或文件的路径。它以点号语法指定,类似于广泛使用的名字空间(namespace)格式:RootAlias.path.to.target其中的 RootAlias 是某个现存目录的别名。通过使用 YiiBase::getPathOfAlias(), 别名可以被翻译为其相应的路径。 例如, system.web.CController 会被翻译为 yii/framework/web/CController。通过调用 YiiBase::setPathOfAlias(),我们可以定义新的根路径别名。1. Root ...

Yii框架官方指南系列13——基础知识:开发规范

Yii 偏爱规范胜于配置。遵循规范可使你能够创建成熟的Yii应用而不需要编写、维护复杂的配置。 当然了,在必要时,Yii 仍然可以在几乎所有的方面通过配置实现自定义。下面我们讲解 Yii 编程中推荐的开发规范。 为简单起见,我们假设 WebRoot 是 Yii 应用安装的目录。1. URL默认情况下,Yii 识别如下格式的 URL:http://www.gxlcms.com/r GET 变量意为 路由(route) ,它可以被Yii解析为 控制器和动作。 如果 ActionID 被省略,控制...

PHP类系列(一)

写在文前:春节将近,明天就回家啦,心情无比激动,忙了一年终于可以陪陪家人了。外地人离京后,北京宛如一座‘空城’,今天同事们聊这个事,猛然想起司马迁的一句名言:“天下熙熙,皆为利来;天下攘攘,皆为利往”,现在利的方向应该就是亲情了,风筝收线,无论过去的一年你经历了什么,也都要收拾好心情回家过年。提前祝愿各位新年快乐~春节期间我也会践行对自己的承诺,每周至少发一篇文章。同时也要感谢And1读者提出的宝贵建议...

AndroidUI控件系列:RelativeLayout(相对布局)【图】

RelativeLayout是一个在相对位置上显示子View元素的VeiwGroup,一个视图的位置,可以指定为相对于兄妹的元素(比如一个给定的与孙的左边或者下边)或者心爱那个对于RelativeLayout区域的位置(比如与底部对齐,剩下的中心)一个RelativeLayout是一个非常强大使用的为设置用户界面的布局,因为它可以消除嵌套的视图组ViewGroup,如过你发现你用了几个嵌套的LinearLayout组,你可以替换为一个单独的RelativeLayout1、开始一个新的工程...

AndroidUI控件系列:TableLayout(表格布局)【图】

TableLayout是一个以行、列显示视图View的视图组1、开始一个新的工程,名字叫做HelloTableLayout2、打开res/layout/main.xml文件并且插入如下内容<?xml version="1.0" encoding="utf-8"?> <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"><TableRow><TextViewandroid:layout_column="1"android:text="O...

AndroidUI控件系列:TabLayout(选项卡布局)【图】

为了创建一个选项卡的UI,你需要使用一个TabHost和一个TabWidget,TabHost必须是布局文件的根节点,它包含了为了显示选项卡的TabWidget和一个用于显示选项内容的FrameLayout你可以用一或两种方法实现你的选项卡内容:在用一个Activity中用选项卡来在视图之间切换,或者用用选项卡来改变所有的分离的Activity。你根据你的需求来使用你想在程序中的方法,但是如果每个选项卡提供一个独特的用户Activity,那么为每个选项卡实现独立的A...

AndroidUI控件系列:DatePicker,TimePicker(日期和时间选择)【图】

日期和时间是任何手机平台都有的功能,Android也如此。DatePicker:用来实现日期(年月日)TimePicker:用来实现时间(时分秒)Calendar:日历是设定年度日期对象和一个整数字段之间转换的抽象基类,如,月,日,小时等。例如final Calendar calendar=Calendar.getInstance(); mYear=calendar.get(Calendar.YEAR);—获取年份 mMonth=calendar.get(Calendar.MONTH);—获取月份 mDay=calendar.get(Calendar.DAY_OF_MONTH);—获取日 m...