Giter Club home page Giter Club logo

yaf-blog's Introduction

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遇到问题时为我指点迷津

    yaf-blog's People

    Contributors

    suliang avatar

    Stargazers

     avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

    Watchers

     avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

    yaf-blog's Issues

    站点结构

    貌似一般大概来讲:
    |+public
     |+ page //静态页面
     |+ assets //公共静态资源
      |- css
      |- img
      |- js
      |- ueditor
     |- index.php //入口文件 定义常量BASE_URL
     |- favicon.ico //图标

    coreseek 必须安装吗?

    wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz
    

    官方资源挂了,下不下来,coreseek必须安装吗?不安装使用谷歌的站内搜索可以吗?

    数据库连接日志记录量

    hi,有个疑问
    $this->is_log = $db_config["log"];
    if ($this->is_log)
    {
    $handle = fopen($db_config["logfilepath"] . "dblog.txt", "a+");
    $this->handle = $handle;
    }
    db library 这里记录日志,非持久链接,每个请求自动链接,记录似乎会很庞大

    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.