Skip to content

suliang/Yaf-Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

be0f933 · Aug 14, 2017
Aug 14, 2017
Apr 19, 2017
May 20, 2017
Apr 30, 2015
Apr 25, 2017
May 6, 2017
May 2, 2017
Apr 19, 2017
Apr 19, 2017
Apr 20, 2017
Apr 20, 2017
Apr 19, 2017
Apr 19, 2017
Apr 20, 2017

Repository files navigation

Yaf博客系统

由最快的PHP框架--Yaf打造而成的更快的----程序喵的博客


本项目适合新手学习Yaf框架。老鸟请轻喷

项目架构

  • Linux+Nginx+PHP+MySQL+Redis
  • 涉及的插件、扩展

  • 代码高亮插件--Prism
  • 为Prism改造Ueditor
  • ajaxform
  • 全站搜索Sphinx-coreseek
  • PHP框架--Yaf
  • 为什么要写这个项目?

    起先,我的博客放在CSDN上,那里面技术博客众多,可是后来感觉CSDN的服务器太卡,有时候打开一个博客要半分钟。 简直不能忍啊。于是改投博客园,博客园服务器还算稳定,但是在博客园上写博客,感觉他后台的功能用着不顺手,比较反人类,遂决定自己搭一个博客系统。
    为什么不用WordPress?
    太卡(里面很多地方调google的文件,要 一 一 替换掉,不然卡死你),然后太大太臃肿,很多功能我都用不到,这不符合我喜欢DIY的性格。
    为什么选择Yaf框架?
    到底是用最近火热的Laravel或者Symfony,亦或是鸟哥的Yaf,还是用我最熟悉的CodeIgniter,前三者都有学习成本,最后想了想,这次追求的是快,那就用最快的PHP框架-----Yaf,来搭建一个更快的Blog系统。
    开始用Yaf以后,才发现,它就是我要的那个框架!他不喜欢慢!他快如闪电。他没有臃肿的类库与功能,他简约而不简单。Yaf,简直就是为本博客量身打造的。更多Yaf优点详见请点击。

    第一次学习Yaf框架,很多功能都是摸索着来的,所以此项目必有纰漏。 第一次用Github提交(之前都是浏览别人的项目),所以Github的功能也是摸索着来的。

    项目特色

    快如闪电和安全。
    Yaf和Redis,为我们提供了快如闪电的访问体验,我前台也是能少加载文件,就少加载文件,能用CDN(比如jquery),就用CDN
    用户add的地方有两处,发表评论和添加友链,都做了防XSS和防SQL注入。 全站搜索,用了sphinx也进一步加快了速度,并确保了防止sql注入。 评论做了基于Redis的IP时间限制,每60秒同一个IP的用户只能说两句话。 管理员登陆入口隐藏,并对登陆接口做了基于Redis的IP错误次数限制。每10分钟错3次禁止此IP登陆。

    快速开始

    1.请确保你的机器已经安装了PHP、Nginx、Mysql、Redis、Coreseek
    2.导入sql文件blog.sql,替换Coreseek的配置文件csft.conf并修改数据库配置,替换虚拟主机文件vhost.conf并修改配置,
    3.重启webserver
    4.后台登陆地址为【点击首页顶部的白色猫头,会弹出登录窗口,默认登陆密码123456】
    5.TODO 新加入安装模块:初次进入项目,会直接跳转到安装模块,自动化建表,并给博客管理员注册账号
    
    目录结构
    - index.php             //入口文件 定义常量BASE_URL
    - favicon.ico
    + public                //公共静态资源
      |- css
      |- images      
      |- js
      |- ueditor   
    + conf
      |- application.ini    //配置文件
    + application
      |+ controllers
         |- Index.php       //默认控制器
         |- Blog.php        
         |- Blogtype.php    
         |- Cat.php         //综合信息控制器
         |- Comment.php     
         |- Error.php       //错误处理控制器
         |- Admin.php       //后台控制器
         |- Link.php        
         |- Say.php         
         |- Tag.php         
         |- Test.php        //测试专用控制器
      |+ views    
         |+ index   
         ...... 
         |+ test   
         |+ public 
            |- 404.php   
            |- foot.php   
            |- head.php   
            |- right.php   
      |+ models    
         .......
         |- Search.php          //搜索引擎类   
      |+ library    
         |- Db.php              //数据库类 我网上找的然后改造的mysqli  
         |- Function.php        //方法类,里面继承了一些可以全局调用的方法  
         |- Imagecompress.php   //图片压缩类 压缩说说里上传的图片 
         |- Rdb.php             //Redis类   
      |- Bootstrap.php          //项目的全局启动文件,里面启动了redis mysql 加载方法类
    - csft.conf                 //Sphinx-coreseek配置文件
    - vhost.conf                //nginx虚拟主机配置文件
    - blog.sql                  //数据库文件
    

    TODO

    为了使它更快,我后期还要做3件事
  • 首页和详情页做nginx的proxy_cache缓存
  • 首页和详情页,生成静态html页面
  • URL重写,现在用的yaf的简单路由,回头把详情页的url简化下
  • 优先:安装模块(自动化建表和注册管理员)【不做了,这个项目就当作大家学习用的,没必要商业化】
  • (已完工)前台页面全部bootstrap,全面支持移动端----【2017.5.6 前台页面全部替换为bootstrap,已经全面支持了移动端】
  • Last

    感谢Yaf群里的群友在我用Yaf遇到问题时为我指点迷津

    About

    由最快的PHP框架---Yaf打造的:快如闪电的博客系统

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published