任务框架

关于框架



任务框架基于MVC范例,具有易用性和用于解决简单任务的最少功能。



与标准解决方案不同,此处使用任务代替控制器



指向也使用任务的框架的链接。



jsock-framework-tutorial.blogspot.com

java-framework-jsocket.blogspot.com

github.com/nnpa/jsock



安装任务框架



1.使用框架下载档案



。2 .将档案解压缩到任务文件夹中,该目录存储网站。



3.下载该应用程序的框架



。4.将其解压缩到存储站点的目录中的site文件夹中。



5.在mysql中创建一个数据库。



6.下载用户表并导出到创建的数据库。



你应该得到这样的目录树



/webroot/task

/webroot/site


7.配置Web服务器,以便使用您使用的Web服务器将根文件夹/ webroot /站点绑定到特定主机。



8.转到config文件夹并打开config.php并使用您的连接值和主机变量编辑数据库连接数组。



MVC范式



Task框架使用MVC范例来更好地分离视图模板,模型和控制器的逻辑。



Task框架代替了控制器,而是使用Task任务-任务位于task文件夹中,旨在执行应用程序逻辑。



模型存储在models文件夹中,旨在与数据库逻辑一起使用。



视图存储在views文件夹中,旨在与表示逻辑一起使用。



任务



任务(或控制器)位于任务文件夹中。



任务是通过站点请求的url中的变量创建的:



如果变量request = test,则将创建Task类的实例,该实例存储在test.php文件的task文件夹中,称为test。



index.php?request=test


test.php类的示例:



include_once('WebTask.php');

class Test extends WebTask{

	public function run(){

          // 

        }

}


该任务必须从WebTask继承,并且必须在其中创建run()方法



楷模



模型位于models文件夹中,负责使用数据库的逻辑。



创建模型的最常见方法是在任务中。



必须在models文件夹中创建模型并从Model继承模型,还必须写入$ table_name字段。



一个示例类模型/ users.php:



class Users extends Model{

    public $table_name = 'users';

}


在Model类中,预先实现了一组用于处理数据库的方法。



findBySql



$users = new Users();

 $users->findBySql("SELECT * FROM `users`");

foreach($users as $user) {

      echo $user['email'] . "<br>";

}


findByPk



$users = new Users();

 $users->findByPk(3);

 echo $users->email;






$users = new Users();

 $users->find("email <> ''");

foreach($users as $user) {

     echo $user['email'] . "<br>";

}


更新



$users = new Users();

 $users->findByPk(3);

$users->email = "yandex@mail.ru";

$users->update();






$users = new Users();

$users->email = "yandex@mail.ru";

$users->id    = NULL;

$users->save()


删除



$users = new Users();

$users->delete("id = 6");


执行



$users = new Users();

$users->exec("free sql string"); //mysqli_result


D B



App::$DB->exec("free sql string");//mysqli_result


视图



视图模板存储在/ view /文件夹中,负责视图逻辑。



使用render方法在任务类的run方法的末尾调用该视图。



变量被传递到将在视图逻辑中使用的视图。



站点任务示例:



include_once('WebTask.php');

class Site extends WebTask{

	public function run(){

              $users = new Users();

               $users->find("email <> ''");

	       $this->render('site',[

			'users' => $users,

		]);

	}

}


在run方法中,将带有用户的模型传递到view / site.php模板,在该模板中处理搜索结果并生成html:



<?php

foreach($users as $user) {

    echo $user['email'] . "<br>";

}

?>


在view / layout文件夹中还有主模板main.php,这是将我们的视图加载到{content}变量中的主模板。



用户授权



该框架已经使用登录和注册链接实现了注册和授权。



允许您检查用户是否被授权的应用程序方法App :: isGuest()





任务框架博客的最后,



框架将继续开发并测试在其上开发的应用程序。



谢谢。



All Articles