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

使用Phalcon框架开发一个简易的博客系统的更多相关文章

  1. 【7】用Laravel5.1开发一个简单的博客系统

    声明: 本教程参考Jeffrey way 在laracasts.com上的视频教程,感谢Jeffrey way为大家带来的精彩教程,本教程如有侵权,请及时告知,联系邮箱wanglv93@gmail.c ...

  2. 用express搭建一个简单的博客系统

    转自:https://blog.csdn.net/qq_29721837/article/details/62055603 Express 简介 Express 是一个简洁而灵活的 node.js W ...

  3. python基础[18]——使用django创建一个简易的博客网站

    一.页面实现 index.html base.html post.html header.html footer.html <!-- index.html--> {% extends 'b ...

  4. 用vue + leancloud开发一个免费的博客

    项目地址 https://github.com/Fee-ing/Fe... 在线预览 在线预览地址: 搭建免费博客

  5. django 部署一个简单的博客系统

    转:https://www.cnblogs.com/fnng/p/3737964.html 写的目的, 加深影响,熟悉开发流程, 开发都是练出来的. 环境 python3.5 windows 7 1. ...

  6. Django开发自己的博客系统

    好久之前就想做一下自己的博客系统了,但是在网上查了查好像是需要会一些Node.js的相关知识,而且还要安装辣么多的库什么的,就不想碰了.但是我遇到了Django这么一款神器,没想到我的博客系统就这么建 ...

  7. Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦

    个人博客 对于技术人员来说,拥有自己的个人博客应该是一件令人向往的事情,可以记录和分享自己的观点,想到这件事就觉得有意思,但是刚开始写博客的时候脑海中是没有搭建个人博客这一想法的,因为刚起步的时候连我 ...

  8. Django练习——博客系统小试

    在上一篇博客Todolist的基础上(http://blog.csdn.net/hcx25909/article/details/24251427),本周继续进行实践,这次我要搭建一个简单的博客系统. ...

  9. 02-大鸭梨博客系统数据库设计及Dapper的使用

    毫无疑问,数据库的设计在一个系统中起了至关重要的作用.我们都知道,系统设计分为两部分,或者说是两个阶段,即数据库设计和功能设计.构建一个完善的系统需要这两个阶段的充分考量.周密设计.合理联接以及密切配 ...

随机推荐

  1. Extjs在树上加右键菜单--2019-04-15

    效果图如下: 使用规则:将监听加到按钮或树上,监听代码如下. 代码如下: listeners : { //节点单击事件 'rowcontextmenu' : function(view, record ...

  2. C++ 初读vector

    vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象. Character 高效 C++标准要 ...

  3. <算法图解>读书笔记:第2章 选择排序

    第2章 选择排序 2.1 内存的工作原理 需要将数据存储到内存时,请求计算机提供存储空间,计算机会给一个存储地址.需要存储多项数据时,有两种基本方式-数组和链表 2.2 数组和链表 2.2.1 链表 ...

  4. 实现logstash6.4.3 同步mysql数据到Elasticsearch6.4.3

    本文旨在实践把mysql已有的数据同步到elasticsearch中,使用的版本是6.4.3,对于其它6.x版本理应是一样的处理方式. 本文目录: 1.初始化Elasticsearch 6.4.3 1 ...

  5. 安装xlwt和xlrd

    因为想用python实现读写excel.百度了下,要安装xlwt和xlrd,网上各种方法,很多都不便利.最后利用pip安装很方便. 第一步:浏览器检索“xlwt安装”,点击第一个网页(百度) 即出现如 ...

  6. fiddler 应用

    一   pc 端抓取 例:本地调试代码,转换域名,请求网络数据 1:设置代理,以smart header 为例 ip为 127.0.0.1 端口与自己的fillder一致,注意将不代理的地址列表做修改 ...

  7. canvas生成海报

    虽然之前也做过类似的生成海报的项目,但是这个项目我又网上查找了一下,发现一个插件挺好用的  html2canvas.js http://html2canvas.hertzen.com/这里可以下载这个 ...

  8. 使用Ant Build时提示错误: 编码GBK的不可映射字符

    这个build.xml是由eclipse neon 2016.6生成的 我的情况是,所有文件都使用了UTF-8编码,build.xml第一行也好好写着UTF-8,但build时仍然有乱码,并且提示失败 ...

  9. 【页面置换算法】LRC算法和FIFS算法

    算法介绍 FIFO:该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰.该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针, ...

  10. [error] eclipse编写spring等xml配置文件时只有部分提示,tx无提示

    eclipse编写spring等xml配置文件时只有<bean>.<context>等有提示,其他标签都没有提示 这时就需要做以下两步操作(下面以事务管理标签为例) 1,添加命 ...