收藏此站 联系我们 网站
当前位置:首页» 网站推广 » 【建站服务】启东网站优化【启东开通400电话】启东网站搭建、启东微信公众号推文外包、启东开通京东拼多多设计、启东淘宝装修-域名申请

【建站服务】启东网站优化【启东开通400电话】启东网站搭建、启东微信公众号推文外包、启东开通京东拼多多设计、启东淘宝装修-域名申请

作者: 风兰 . 阅读量: 7 . 发表时间:2022-09-20 15:23:24

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


启东网站优化【启东开通400电话】启东网站搭建、启东微信公众号推文外包、启东开通京东拼多多设计、启东淘宝装修


启东市,江苏省直辖,南通市代管,位于江苏省东南端,长江入海口北岸,是江苏省日出最早的地方。 [1]  户籍总人口110.35万,常住人口94.95万(2019年)。 [2]  截至2020年6月,启东市下辖9个镇。 [3] 

后周显德五年(958年),置海门县于东布洲,隶于通州,海门县域包括今启东中部、北部地区。民国十七年(1928年),于崇明外沙设启东县。1989年,撤销启东县,设立县级启东市。 [14]  [56] 

启东是全国对外开放口岸 [4]  、中国建筑之乡 [5]  、国家卫生城市 [6]  、国家园林城市 [7]  、全国文明城市 [8]  、国家级生态示范区 [9]  、节水型社会建设达标县 [10]  、紧密型县域医共体建设试点县 [11]  、革命文物保护利用片区分县 [12]  ,海洋经济之乡、电动工具之乡、建筑之乡、教育之乡、版画之乡。 [1] 

2019年,启东市地区生产总值1157.55亿元,第一产业增加值79.64亿元,第二产业增加值581.29亿元,第三产业增加值496.62亿元。三次产业比为6.9:50.2:42.9。人均地区生产总值121879元。

interface PhalApi_Model {

    public function get($id, $fields = '*');

    public function insert($data, $id = NULL);

    public function update($id, $data);

    public function delete($id);}复制代码

上面的接口在规约层上提供了基于表主键的CURD基本操作,在具体实现时,需要注意两点:一是分表的处理;另一点则是LOB字段的序列化。

推荐使用Model基类

由于我们使用了NotORM进行数据库的操作,所以这里也提供了基于NotORM的Model基类:PhalApi_Model_NotORM。下面以我们熟悉的获取用户的基本信息为例,说明此基类的使用。

  • 不使用Model基类的写法

下面是不使用Model基数的实现代码:

<?phpclass Model_User {

    public function getByUserId($userId) {
        return DI()->notorm->user->select('*')->where('id = ?', $userId)->fetch();
    }}复制代码

获取ID为1的用户信息,对应的调用为:

$model = new Model_User();$rs = $model->getByUserId(1);复制代码
  • 继承Model基类的写法

若继承于PhalApi_Model_NotORM,则Model子类的实现代码是:

<?phpclass Model_User extends PhalApi_Model_NotORM {}复制代码

从上面的代码可以看出,基类已经提供了基于主键的CURD操作,并且默认根据规则自动使用user作为表名。相应地,当需要获取ID为1的用户信息时,外部调用则调整为:

$model = new Model_User();$rs = $model->get(1);复制代码

再进一步,我们可以得到其他的基本操作:

$model = new Model_User();// 查询$row = $model->get(1);$row = $model->get(1, 'id, name'); //取指定的字段$row = $model->get(1, array('id', 'name')); //可以数组取指定要获取的字段// 更新$data = array('name' => 'test', 'update_time' => time());$model->update(1, $data); //基于主键的快速更新// 插入$data = array('name' => 'phalapi');$id = $model->insert($data);//$id = $model->insert($data, 5); //如果是分表,可以通过第二个参数指定分表的参考ID// 删除$model->delete(1);复制代码

通过对比,可以发现,使用继承于PhalApi_Model_NotORM基类的写法更简单,并且更统一,而且能更好地封装对数据库的操作。因此,我们通常推荐使用此实现方式。

Model基类中的表名配置

上面继承了PhalApiModel_NotORM的Model_User类,对应默认的表名为:user。默认表名的自动匹配规则是:取“Model”后面部分的字符全部转小写,并且在转化后会加上配置的表前缀。下面是更多Model子类及其自动映射的表名示例。

// 对应userinfo表class Model_UserInfo extends PhalApi_Model_NotORM { }// 对应app_settings表class Model_App_Settings extends PhalApi_Model_NotORM { }// 对应tags表class Model_Tags extends PhalApi_Model_NotORM { }复制代码

但在以下场景或者其他需要手动指定表名的情况,可以重写PhalApi_Model_NotORM::getTableName($id)方法并手动指定表名。

  • 存在分表

  • Model类名不含有“Model_”

  • 自动匹配的表名与实际表名不符

  • 数据库表使用蛇形命名法而类名使用大写字母分割的方式

如,当Model_User类对应的表名为:my_user表时,可这样重新指定表名:

<?phpclass Model_User extends PhalApi_Model_NotORM {
    protected function getTableName($id) {
        return 'my_user'; 
    }}复制代码

其中,$id参数用于进行分表的参考主键,只有当存在分表时才需要用到。通常传入的$id是整数,然后对分表的总数进行求余从而得出分表标识。例如有10张分表的user_session表:

<?phpclass Model_User_UserSession extends PhalApi_Model_NotORM {
    const TABLE_NUM = 10;

    protected function getTableName($id) {
        $tableName = 'user_session';
        if ($id !== null) {
            $tableName .= '_' . ($id % self::TABLE_NUM);
        }
        return $tableName;
    }复制代码

即存在分表时,需要返回的格式为:表名称 + 下划线 + 分表标识。分表标识通常从0开始,为连续的自然数。

这里小结一下,对于使用Model子类的方式,可以使用默认自动匹配的表名。若表名不符合项目的需求,可以通过重写PhalApi_Model_NotORM::getTableName($id)方法手动指定。最后,若存在有分表,则需要结合$id参数,按一定的规则,拼接返回分表格式的表名。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

启东网站优化启东开通400电话启东网站搭建、启东微信公众号推文外包、启东开通京东拼多多设计、启东淘宝装修


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务