• 使用Phalcon框架开发一个简易的博客系统


    使用Phalcon PHP框架开发一个简易的博客系统(类似于CMS)


    最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚开始学习,不太熟悉,先搞一个"玩具项目"来练练手,用它来开发一个具有登录操作的博客是再合适不过的选择了...


    完整项目源代码: https://github.com/yanglr/phalcon_practice/tree/master/blog

    欢迎fork或star !!!


    该项目的文件目录如下:


    blog

    ├── app
    │   ├── cache
    │   ├── config
    │   │   ├── config.ini
    │   │   ├── config.php
    │   │   ├── loader.php
    │   ├── controllers
    │   ├── library
    │   │   ├── composer.json
    │   │   └── vendor
    │   │       ├── autoload.php
    │   │       └── composer
    │   │           ├── autoload_classmap.php
    │   ├── logs
    │   │   └── ping.log
    │   ├── migrations
    │   ├── models
    │   │   ├── Comments.php
    │   │   ├── Posts.php
    │   │   ├── PostTags.php
    │   │   ├── Tags.php
    │   │   └── Users.php
    │   ├── plugins
    │   │   ├── PageCache.php
    │   │   └── Security.php
    │   └── views
    ├── cli
    ├── index.html
    ├── info.php
    ├── micro
    │   └── index.php
    ├── public
    │   ├── css
    │   ├── files
    │   ├── img
    │   ├── index.php
    │   ├── js
    │   │   ├── jquery
    │   │   │   ├── jquery-2.1.4.min.js
    │   │   │   └── jquery.min.js
    │   │   └── jquery.min.js
    │   ├── webtools.config.php
    │   └── webtools.php
    ├── README.md
    └── sql
        ├── phalconblog-data.sql
        ├── phalconBlogEER.mwb

    使用Phalcon框架,首先需要下载phalcon扩展,然后在php.ini中设置开启。


    本文使用Phalcon开发了一个简易的博客系统,配置环境为:Linux+nginx+mysql+PHP+Phalcon+bootstrap,此环境配置就不详细介绍了,网上可以搜到不少资料...


    phalcon project phalconBlog --use-config-ini --enable-webtools


    step 1: 在nginx对应的Web目录下创建文件夹blog(比如: /home/www/server/blog),然后git clone git@github.com:yanglr/phalcon_practice.git 后,将./phalcon_practice/blog中的内容复制到文件夹/home/www/server/blog中;

    step 2: 在nginx/conf/nginx.conf文件末尾加入语句:

    include vhost/*.conf;

    在nginx配置目录下的conf/vhost中配置多模块路由设置,在该目录下创建文件dev.blog.io.conf文件,其内容如下:

    server {
        listen       80;
        server_name  dev.blog.io;
        access_log  /var/log/php_nginx_log/www.access.log;
        error_log  /var/log/php_nginx_log/www.error.log error;
    
        root   /home/www/server/blog/public;
        index index.php  index.html index.htm;
    
        location / {
            index index.shtml index.php index.html;
            if (!-e $request_filename) {
                rewrite ^/(.+)$ /index.php?_url=/$1;
            }
        }
    	
        location ~ .php$ {
            #root           html;
            #fastcgi_pass   127.0.0.1:9000;
            #fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #include        fastcgi_params;
    
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include fastcgi.conf;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        }
    
        location ~ /.ht {
            deny  all;
        }
    }
    

    修改完后重启nginx。

    step 3: 修改app/config/config.php文件中的Mysql的相关信息,根据具体的情况进行修改;

    step 4: 在mysql中创建数据库phalconblog,然后将app/sql文件夹中的sql文件phalconblog-data.sql导入到mysql中,可以直接在mysql中导入,也可以用navicat进行导入...

    step 5: 修改/etc/hosts文件,添加语句:

    ☐.☐.☐.☐ dev.blog.io
    

    这里☐.☐.☐.☐是你在Linux下使用ifconfig命令看到的ip地址

    step 6: 用浏览器访问 http://dev.blog.io 即可。


    特别说明:

    账号: admin 密码: admin

    账号: test 密码: test


    目前该博客系统中实现了登录退出、发表博文、查看博文、分页、评论、搜索等功能...

    具体展示如下:


    1. 登录


    2. 查看博文列表


    3. 发表博文


    4. 查看评论



    5. 搜索内容


    6. 显示博文详细及评论



    7. 新增 评论




  • 相关阅读:
    【mongoDB运维篇④】Shard 分片集群
    【Linux高频命令专题(11)】cp
    【Linux高频命令专题(10)】mv
    Nginx + Lua + 共享内存
    ngx_lua模块学习示例之waf
    在 Golang 中使用 Protobuf
    openresty package.path require 报错
    ngx_lua 模块
    Lua中的常用语句结构以及函数
    lua日期与时间操作
  • 原文地址:https://www.cnblogs.com/enjoy233/p/10408726.html
Copyright © 2020-2023  润新知