Phalcon学习笔记

Posted mr.杰瑞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Phalcon学习笔记相关的知识,希望对你有一定的参考价值。

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

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 是查单个 同上

未完待续~~~

以上是关于Phalcon学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

学习phalcon框架按照官网手册搭建第一个项目注册功能

Phalcon学习-model

PHP7 学习笔记如何使用zephir编译一个扩展记录

php安装phalcon扩展

phalcon: Windows 下 Phalcon dev-tools 配置 和 Phpstorm中配置Phalcon 代码提示

phalcon: 表单