使用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. ORM之SQLALchemy

    今天来聊一聊 Python 的 ORM 框架 SQLAlchemy SQLAlchemy 没有 Django 的 Models 好用!因为models是Django自带的ORM框架,也正是因为是Dja ...

  2. <算法图解>读书笔记:第1章 算法简介

    阅读书籍:[美]Aditya Bhargava◎著 袁国忠◎译.人民邮电出版社.<算法图解> 第1章 算法简介 1.2 二分查找 一般而言,对于包含n个元素的列表,用二分查找最多需要\(l ...

  3. 短网址API

    http://tao.tf/open/ API简介 API允许第三方自由调用URL缩短,基于text/json/jsonp/js模式,支持post.get提交. 支持缩短网址: 淘宝网(*.taoba ...

  4. Tomcat手动部署Web项目详细步骤

    阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...

  5. asp.net core 下载文件,上传excel文件

    下载文件: 代码: 后端代码: public IActionResult DownloadFile() { var FilePath = @"./files/deparment.xlsx&q ...

  6. 我用linux系统的采坑记

    我的新Ubuntu18,也没安装什么,但是在使用过程中总是莫名其妙的卡死,真的很烦.有时候cpu使用率接近100%,有时候貌似是内存不够了,但是我明明是8GB,这些小问题搞得我很恼火.这样的机器真的不 ...

  7. 查看 FormData 中已存在的值

    var formData = new FormData(); formData.append('name','bob'); formData.append('sex','male'); formDat ...

  8. JAVA---MYSQL 基本知识点 第二部分

    增删改查 (CRUD):   数据库  , 表  , 记录  ;   约束 ; 主键约束 :primary key  如果是int类型 可以使用 自动增长型  auto_increment; 唯一约束 ...

  9. ArcMap AddIn之下载ArcGIS Server地图服务中的数据

    涉及到开发知识点1.ArcGIS Server地图服务 2.C# web请求获取数据 3.AddIN开发技术 工具界面: 具体涉及到的代码之后有空贴出来.先上工具 AddIn插件下载地址:点击这里下载 ...

  10. kvm虚拟机克隆

    1.先关闭被克隆的虚拟机: 2.克隆命令 virt-clone -o 192.168.0.242_sw_web -n 192.168.0.163_nginx -f /data/kvm/images/1 ...