PHP开发规范说明Word下载.docx

上传人:b****6 文档编号:17666827 上传时间:2022-12-08 格式:DOCX 页数:11 大小:36.29KB
下载 相关 举报
PHP开发规范说明Word下载.docx_第1页
第1页 / 共11页
PHP开发规范说明Word下载.docx_第2页
第2页 / 共11页
PHP开发规范说明Word下载.docx_第3页
第3页 / 共11页
PHP开发规范说明Word下载.docx_第4页
第4页 / 共11页
PHP开发规范说明Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

PHP开发规范说明Word下载.docx

《PHP开发规范说明Word下载.docx》由会员分享,可在线阅读,更多相关《PHP开发规范说明Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

PHP开发规范说明Word下载.docx

if($this->

save()!

==false){

$this->

success("

保存成功!

"

);

}else{

error("

保存失败!

}

error($this->

getError());

}

3.1.1.1.3Delete

$id=intval(I("

get.id"

));

if($this->

where("

id=$id"

)->

delete()!

M("

RoleUser"

where(array("

$id,"

oem_code()))->

delete();

删除成功!

}else{

删除失败!

3.1.1.1.4Where

$id=get_current_admin_id();

$user=$this->

id"

find();

3.1.1.1.5Page

ThinkPHP已经实现好了分页栏位计算方法。

HTML中

<

divclass="

pagination"

>

{$page_bar}<

/div>

PHP中

$count=$this->

where($condition_user)->

count();

$page=$this->

page($count,20);

$users=$this->

users_model

where($condition_user)//加了过滤

order("

create_timeDESC"

limit($page->

firstRow.'

'

.$page->

listRows)

select();

$this->

assign("

page_bar"

$page->

show('

Admin'

//Admin是模板名称,默认可以不填

users"

$users);

3.1.1.2CommonModel:

Model

通用Model。

构造时会所用默认的数据库连接。

3.1.1.3OemModel:

CommonModel:

针对不同OEM需要访问自己的DB时所使用的Model。

重写了构造函数,初始化时会使用OEM定义好的数据库连接信息。

3.1.2通用设置

3.1.2.1自动后台验证

//自动验证

protected$_validate=array(

//array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)

array('

name'

'

require'

用户名称不能为空!

'

1,'

regex'

ComentsModel:

MODEL_INSERT),

3.1.2.2默认值设定

protected$_auto=array(

create_time'

time'

1,'

function'

),

update_time'

2,'

3.1.3通用方法

目前Model中可以通用的方法都写在CommonModel中。

个人尽量不要在些文件中定义自己的函数,如果确认有的方法很常用、很通用,提交项目组进行讨论并确认后,方可写入CommonModel文件中。

ThinkPHP提供了的原生数据库表操作功能,非常基础的Table操作可以直接写在上层代码中,如Controller中可以直接进行调用。

原生的快速数据库操作方法:

3.1.3.1Selecttop10*fromTablewherecondition

$list=$this->

where($condition)->

limit(10)->

3.1.3.2Selectaasaa,b,cfromtablewherecondition

$list=$this

where($arrayCondition)

field(array(“a”=>

”aa”,“b”,“c”))

return$list;

3.1.3.3Inserttable(a,b,c)values(a,b,c)

普通做法:

$data['

]=date("

Y-m-dH:

i:

s"

time());

code'

]=uniqid();

$result=$this->

add($data);

使用ThinkPHP直接从POST中将Form数据存库方法:

]=100;

menu_model->

create()){

3.1.3.4Updatetableseta=@awhereid=@id

save($data);

3.1.3.5Deletetablewhereid=@id

目前可以使用的自定义方法如下:

3.1.4自定义方法

所有与自身表数据有关的操作,各自封装在自己的Model文件中。

命名规则:

操作>

实体>

条件>

(….)

✓getRegisterUser(….);

✓setUserAgeById($id,$age);

✓getUsersByCondiation($condition);

✓deleteUserByCompanyAndStatus($company,$status);

3.2BusinessLogic层

没想好放在哪个目录下

3.2.1命名规则

3.2.1.1类名

按业务场景起名

✓AlarmLogic

✓PurchaseLogic

✓CrmLogic

✓NotificateLogic

3.2.1.2方法命名规则

动词+名词

✓moveAlarmToOtherUser($alarmid,$userid);

✓copyNotificationToCompany($notificateid,$companyid);

✓deleteExpireUserByCompanyPolicy($companyid);

3.3CommonFunction层

路径:

Application/Common/Common/Function.php下。

全局功能性的函数,或者全局通用的方法都写在这里。

目前定义的函数如下

3.3.1iot_oem_code()

取当前用户所属的oem_code。

3.4Session的使用

3.4.1$_SESSION[“user”]

4表单处理

4.1列表页面

4.1.1文件名定义

✓index

✓list

✓home

✓search

4.2添加页面

4.2.1文件名定义

✓add

✓create

4.2.2后台Action名

✓add_post

✓create_post

formmethod="

post"

class="

form-horizontalJ_ajaxForm"

action="

{:

U('

User/add_post'

)}"

functionadd_post()

{

if(IS_POST){

if(!

empty($_POST['

role_id'

])&

&

is_array($_POST['

])){

$role_ids=$_POST['

];

unset($_POST['

]);

create()){//从表单中直接实例化变量

//创建一个新用户

$result=$this->

add();

//保存数据库

if($result!

//为这个新用户创建角色

$role_user_model=M("

foreach($role_idsas$role_id){

$role_user_model->

$result,"

添加成功!

U("

user/index"

添加失败!

请为此用户指定角色!

4.3编辑页面

4.3.1文件名定义

✓edit

4.3.2后台Action名

✓edit_post

4.4内容页面

4.4.1文件名定义

✓Detail

✓Info

4.5删除

4.5.1后台Action名

✓delete

4.6表单数据读取

4.6.1I(“get.<

name>

”)

4.6.2I(“post.<

4.6.3$_GET[“<

”]

4.6.4$_POST[“<

4.6.5$_GET+$_POST

$GETPOST=array_meager($_GET,$_POST);

5常用功能

5.1数据库操作

5.1.1转换成Model

5.1.1.1D(“Common/ModelName”)

5.1.1.2M(“ModelName”)

5.2JSON

5.2.1String->

JSON

5.2.1.1json_decode

将string按json解析成array对象:

$cmf_settings=“<

json_string>

”,true)

5.2.2object->

string(JSON)

以Json格式(0)对$object进行序列化,序列化100个层级关系:

$json_string=$object,0,100);

简化写法:

$json_string=$object);

5.2.3读写配置文件

ThinkPHP默认的配置文件在App/Common/Conf/Config.php文件中进行定义。

5.2.3.1读

$config=C(“配置项目名称”);

5.2.3.2写

C(“配置项”)=$config;

5.3数组操作

5.3.1array_merge($arrayA,$arrayB)

5.4MVC

5.4.1$this->

display("

search"

5.4.2$this->

assign("

keyword"

$k)

6程序设计文档

6.1CompanyEquipment

6.1.1Model

6.1.1.1getCompanyKeyValue($condition=null)

返回可以使用的Company,字段是key,value,代表code,name。

主要用于html中的dropdown控件使用

返回值:

array(size=4)

'

SuJWlBoFkr'

string'

上海维沃重工机械有限公司'

(length=36)

K5QIohn6L7'

没有测试'

(length=12)

OEM_000001'

泰安华鲁锻压机床有限公司'

TREYUTYTRE'

鞍山宝马钢材物流中心销售有限公司'

(length=48)

PHP中用法:

$company_kv_store=$this->

company_model->

getCompanyKeyValue(array("

iot_oem_code()));

company_kv_store"

$company_kv_store);

HTML中用法:

selectstyle="

width:

150px;

id="

company"

name="

normal_select"

<

optionselectedvalue="

请选择公司<

/option>

foreachname="

item="

key"

ifcondition="

$keyeq$post['

company'

]"

optionvalue="

{$key}"

selected>

{$company_kv_store[$key]}<

else/>

/if>

/foreach>

/select>

7部署的程序说明

7.1鞍山项目

服务器:

123.57.157.144

软件:

WebAccess、MySQL、DotNet

7.1.1程序启动

7.1.1.1MySQL数据库

7.1.1.2WebAccess

7.1.1.3Grape.Ant服务

C:

\CTC\Services\Grape\Grape.Ant

Get:

取到的数据数量>

Delete:

删除的数据量>

ServerResponse:

WebAPi的返回值>

 

7.2云中控平台

7.2.1配置新OEM

在Aliyun的RDS中创建OEM数据库iot_oem_<

code>

_dev。

在云中控平台中,使用Platform_admin帐号,创建OEM,配置Config中相关数据库连接信息。

Platform_code表中增加对应OEM的计算器。

在云中控平台中,创建一个该OEM下的管理员。

在RabbitMQ中配置对应OEM的消息队列。

在RabbitMQ中,配置对应的Exchange参数。

配置223服务器上中服务,每个OEM有4个批处理文件,修改这四个批处理文件的参数为OEM的Codee。

修改_start.bat文件,加上新增的OEM批处理文件,并启动此批处理文件。

7.2.2程序启动

统一启动,请在D:

\CTC\Backgroupd_Services\main下运行_start.bat。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1