php orm是什么意思,一款PHP语言中的ORM介绍-Porpel

原标题:一款PHP语言中的ORM介绍-Porpel

Propel到底是什么?

Propel是PHP中用于SQL数据库的开源对象关系映射(ORM)。它允许您使用一组对象来访问数据库,从而提供用于存储和检索数据的简单API。

除了其ORM功能外,它还提供了一个查询生成器,数据库模式迁移,现有数据库的反向工程等等。

35105ba8d14e106b73770d5b013db68b.png

为什么要使用Propel?

2aee57d305efa073f8c8bb9d6d1a4ab0.png

Propel为PHP应用程序开发人员提供了方便操作数据库的工具,使用它就和PHP中的其他类和对象一样,它们无需编写SQL。

开发速度飞起

提供查询生成器

自动代码生成,方便IDE注解

提供生成所有列和关系的方法

提供数据库架构迁移

可以进行模式逆向工程

文档超丰富

推进带有常见的“行为”

怎么使用Propel

dd6e0bd62de2a45b298a14c31e944d7c.png

您需要将表的定义编写为xml,然后通过命令database:reverse从现有数据库中将其导出,或者通过ORM-Designer之类的工具进行构建。

它使用PDO作为抽象层和代码生成来消除运行时自省的负担,以提高执行效率。

Propel实现了成熟的ORM层的所有关键概念:ActiveRecord模式,验证器,行为,表继承,对现有数据库进行反向工程,嵌套集,嵌套事务,延迟加载,LOB(您为其命名)。

Propel优点

可扩展性是Propel设计的核心。无论您需要自定义什么,Propel都可以让您快速完成。

当您需要自定义查询或者需要定义复杂查询的时候,Propel非常的方便。

Propel支持MySQL,PostgreSQL,SQLite,MSSQL和Oracle。你可以任意切换数据源来完成你的项目的构建。

Propel生成的代码具有良好的注释能力,对IDE友好且易于使用。

Propel项目始于2005年,现已为数千个网站提供支持。有着悠久的历史和全面记录的文档。返回搜狐,查看更多

责任编辑:

自主封装的PHP ORM框架,面向对象的PDO数据库操作,API框架,支持Get/Post/Put/Delete多种请求方式。 代码示例: <?php use Models\User; require '../application.php'; require '../loader-api.php'; //适合查询,如:获取用户列表或者单个用户信息 execute_request(HttpRequestMethod::Get, function() { $action = request_action(); //判断是否存在 if ($action == 1) { list($type, $value) = filter_request(array( request_int('type', 1, 2, 3), //1.用户名 2.邮箱 3.手机号 request_string('value'))); $type_field_map = array( 1 => User::$field_username, 2 => User::$field_email, 3 => User::$field_phone ); if ($type == 2 && !is_email($value) || $type == 3 && !is_mobilephone($value)) { die_error(USER_ERROR, $type_field_map[$type]['name'] . '格式无效'); } $user = new User(); $user->set_where_and($type_field_map[$type], SqlOperator::Equals, $value); $result = $user->exists(create_pdo()); echo_result($result ? 1 : 0); //存在返回1,不存在返回0 } //查询单条信息 if ($action == 2) { list($userid) = filter_request(array( request_userid())); //查询单条数据 $user = new User($userid); //set_query_fields可以指定查询字段,下面两种写法均可 //$user->set_query_fields('userid, username, email'); //$user->set_query_fields(array(User::$field_userid, User::$field_username, User::$field_email)); //还可设置where条件进行查询 //$user->set_where_and(User::$field_status, SqlOperator::Equals, 3); //$user->set_where_and(User::$field_truename, SqlOperator::IsNullOrEmpty); //$user->set_where_and(User::$field_age, SqlOperator::In, array(27, 29)); //$user->set_where_and(User::$field_regtime, SqlOperator::LessThan, '-6 month'); //创建数据库连接 $db = create_pdo(); $result = $user->load($db, $user); //也可以用Model类的静态方法 //$result = Model::load_model($db, $user, $user); if (!$result[0]) die_error(PDO_ERROR_CODE, '获取用户信息时数据库错误'); if (!$user) di
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值