使用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. 新增 评论




全部评论

相关推荐

11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务