Phalcon学习笔记

怎么说呢,我也很无奈,今天刚给我权限clone代码,框架是Phalcon,明天就就要把功能完成。那我就速成一下子

路由和接参数 (我用到的是post)

首先是要学会怎么传参到指定的文件中,
index文件首先会定义一个路径。然后是控制器,默认是index方法

use Phalcon\Mvc\Controller;

class PostsController extends Controller
{
    public function indexAction()
    {

    }

    public function saveAction()
    {
        // 检查请求是否为POST
        if ($this->request->isPost() == true) {
            // 获取POST数据
            $customerName = $this->request->getPost("name");
            $customerBorn = $this->request->getPost("born");
        }
    }
}

还有下面这种情况:

这个图:blog是目录有一个postController.php,里面有一个showAction方法 传的参数两个 一个是2015 一个是the-post-title
在这里插入图片描述

分布式事务保证一致性

接收参数

get 方式

打印sql

dd($this->db->getSQLStatement());
//get请求
$id = $this->request->get('key', ['string', 'trim']);
$searchcolumn = $this->request->get('searchcolumn', ['string', 'trim'], 'name', true);
//post请求

post方式

如何写一个脚本

修改

1.可以使用 $test = new model()

$fields['is_del'] = 1;
$fields['update_time'] = time();
$where['id'] = $id;
$test = $test->pdoUpdate($fields, $where);

在cron/tasks 下写一个TestTask.php
将某个字段清0

use Phalcon\Cli\Task;
class TestTask extends Task
{
	public function mainAction()
	{
		$txManager = new \Phalcon\Mvc\Model\Transaction\Manager();
		$temp = ['123'=>123434];
		foreach($temp as $key => $value)
		{
			try{
				//获取事务
				$transaction = $txManager->get();
				//查一条 表是test
				$temp = Test::findFirst($key);
				$temp -> name  = '测试脚本';
				$temp -> status = 2;
				$res = $temp->update();
				if(!$res){
					$transaction -> rollback('更新');
				}
				//提交
			    $res = $transaction->commit();
			}catch(\Throwable $e){
				echo '失败';
				$transaction->rollback();
			}
		}
	}
	
	//给user表增加数据
	public function createAction(){
		$num = 100;
		for($i=1;$i<101;$i++){
			$user = \User::findFirst([
				'user = :user: and name = :name:',
				'bind'=>[
					'user_type' => 1,
					'user_num' => $num 
				],
				
			]);
			//查询 某个字段比如 c d 字段
			
			$userData = \User::find([
				'a = :ar: and b = :br:',
				'bind' => [
					'ar' => 123,
					'br' => 456,
				],
				'columns' => 'c,d'
			])->toArray();
			//注意如果查一个的话,需要判断是否有值,要不 toArray会报错。
			//如果想返回以c为键,d为值的数组
			//$produce = array_column($userData,$d,$c);
			if($user){
				//成功的话,该字段加1
				$num += 100;
				continue;
			}
			$user = new \User();
			$user -> source = 12;
			$user -> name = '到达'.$i/10.'%';//100人到达率
			$user -> save();//将值存储
			
		}
	}

    //$sql = '...';
	//如果用原生sql语句的话 可以使用$this->db->execute($sql);
	//find是查所有的  可以如果要展示后面加->toArray() 如果是要修改 用->update()
	//findFirst 是查单个 同上
}

未完待续~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mr.杰瑞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值