Git Product home page Git Product logo

yyf's Introduction

YYF 2.0

Yunyin Yaf Framework

云印YAF(yet another framework)框架

基于PHP的YAF扩展构建的高效,安全,简单,优雅的框架

借鉴内流行的ThinkPHP框架和国际流行的Laravel框架的使用习惯

兼顾程序性能和代码优雅

目录结构

│  .htaccess    开发环境重新url
│  config.yaml  SAE配置和URL重定向
│  LICENSE
│  README.MD
│  Vagrantfile  开发虚拟机环境配置
│  
├─app  
│  │  Bootstrap.php  生产环境入口 
│  │  Debug.php      调试入口
│  │  README.MD
│  │  
│  ├─controllers     控制器目录【添加代码的主战场】
│  │      Error.php  默认错误
│  │      Index.php  DEMO控制器
│  │      
│  ├─email           邮件模板目录
│  │      verify.tpl 默认验证邮件模板示例
│  │      
│  ├─models          模型目录
│  │      Facade.php 基础FacadeModel
│  │      README.md
│  │      
│  ├─plugins         插件目录
│  │      Tracer.php 调试信息统计插件
│  │      
│  └─views           视图目录
│      └─index
│              index.phtml
│              
├─conf      配置目录
│      app.ini       基础配置
│      secret.common.ini  示例私密配置
│      secret.product.ini 生产环境私密配置
│ 
├─library   库目录
│  │  Cache.php    缓存管理类
│  │  Config.php   配置读取类
│  │  Cookie.php   安全Cookie接口
│  │  Encrypt.php  加密库
│  │  Input.php    输入过滤接口
│  │  Kv.php       key-value存取类
│  │  Log.php      日志管理类
│  │  Mail.php     邮件发送
│  │  Model.php    基础model
│  │  Random.php   随机字符生成类
│  │  README.md
│  │  Rest.php     基础REST类
│  │  Rsa.php      RSA加密类
│  │  Safe.php     安全统计类
│  │  Session.php  session管理接口
│  │  Validate.php 类型验证类
│  │  
│  ├─Parse 格式解析
│  │      Filter.php
│  │      Xml.php
│  │      
│  ├─PhpConsole PHPConsole调试插件库
│  │          
│  ├─Service 系统基础服务
│  │      Api.php
│  │      Db.php
│  │      Message.php
│  │      Qiniu.php
│  │      README.MD
│  │      Smtp.php
│  │      Ucpaas.php
│  │      
│  └─Storage 存储服务
│          File.php
│          
├─public 公共目录【前端资源目录,生产环境根目录】
│      .htaccess     url重写
│      favicon.ico
│      index.php    入口文件
│      robots.txt
│      
└─temp 缓存日志临时文件夹【可写权限】

数据库

安全PDO预处理查询,从最底层防止注入

Model 简单高效的数据库模型 如

$User =new Model('User');
$User->where('id','<',10)->selecet('name AS user');

FacadeModel 提供优雅方便的查询接口

UserModel::where('name','LIKE','%future%')->count();//静态化调用
$Info=InfoModel::find(1);//查找id为1的
$Info->set('time',time())->save();

详细使用说明

REST控制器

  • 对 get,put,post,delete等路由到特定控制器处理
  • 绑定ID参数,
  • 支持json和xml数据输出

实例 在controllers下建一个 Test.php

class TestController extends Rest
{
	function GET_indexAction(){
		$this->response=['method'=>'get'];
	}//处理GET
	function POST_indexAction(){
		$this->response['data']=$this->_request->getPost();
	}//处理POST
}

GET 请求测试 curl -X GET localhost/test/ 响应 {'metod':'get'}

POST 请求测试 curl -X POST -d "key=value" localhost/test/ 响应 {"data":{"key":"value"}}

数据存取

  • Cache 缓存管理
  • Cookie 安全Cookie管理(数据加密,防js获取)
  • Kv 键值对存取
  • Session 封装Session接口
#写
Cookie::set('user',['id'=>1,'name'=>'YYF']);
#读
Cache::get('key')
#删
Session::del('key')
#清
Kv::flush()

加密

  • AES 对称加密
  • RSA 非对称加密
  • phone和email格式保留加密解密

常用扩展

  • 支持YAF的所有接口
  • Input 输入过滤扩展
  • Random 随机数生成库
  • Log 日志管理

其他服务

  • Mail 简单邮件发送
  • Debug PHPConsole调试插件
  • Qiniu 七牛文件管理

开发环境

查看快速配置

为团队开发和服务器配置提高解决方案

yyf's People

Contributors

newfuture avatar

Watchers

大德 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.