使用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. something for learning

    [Unity Shaders]法线纹理(Normal Mapping)的实现细节 https://blog.csdn.net/candycat1992/article/details/41605257

  2. 主流图库对比以及JanusGraph入门

    1.Overall Comparison Name Neo4j JanusGraph Giraph Jena 1.Compute Framework Yes Yes Yes 2.External Co ...

  3. 自己制作一个USB自动挖矿器

    先讲下设备效果: 对面坐着一位同事中午去吃饭没锁屏幕,这时候你想用他的电脑去挖矿, 挖矿,当然不可能跑到他的座位上,关掉360然后下载个挖矿软件什么的.... 这时候你只需要花十块钱制作如下设备,然后 ...

  4. BZOJ1386 : [Baltic2000]Stickers

    显然每一位的限制独立,对于每一位求出仅限制该位下的最大数,然后求最小值即可. 假设当前要求数字$d$的答案: 考虑填数字的过程,可以看作依次考虑一个序列中的每个数,当前缀和$<0$时退出. 设$ ...

  5. java课程之团队开发冲刺阶段1.3

    一.总结昨天进度 1.完成任务指标,但是有些问题没有得到根本上解决,只是换方式解决了 2.使用时间:6小时 二.遇到的困难 1.在设置AlertDialog弹窗组件的时候,没有办法获取选中值,再实验多 ...

  6. Java语法细节 - try_finally和set相关

    目录 try-catch-finally的关系 TreeSet和HashSet的实现原理和区别 BigDecimal中的一些坑 当BigDecimal在HashSet/HashMap和TreeSet/ ...

  7. 测试连接失败,因为初始化提供程序时发生错误,[DBNMPNTW] ConnectionOpen (CreateFile())

    此主题相关图片如下:错误.jpg 今天发布的程序,在其它电脑上运行没问题,就是其中一台电脑上运程报这个错.系统是Win7的查了好久,最后解决 方法如下: 在报错的电脑上,单击"开始" ...

  8. Mesos源码分析(12): Mesos-Slave接收到RunTask消息

    在前文Mesos源码分析(8): Mesos-Slave的初始化中,Mesos-Slave接收到RunTaskMessage消息,会调用Slave::runTask.   void Slave::ru ...

  9. IdentityServer(14)- 通过EntityFramework Core持久化配置和操作数据

    本文用了EF,如果不适用EF的,请参考这篇文章,实现这些接口来自己定义存储等逻辑.http://www.cnblogs.com/stulzq/p/8144056.html IdentityServer ...

  10. 依赖注入[2]: 基于IoC的设计模式

    正如我们在<控制反转>提到过的,很多人将IoC理解为一种"面向对象的设计模式",实际上IoC自身不仅与面向对象没有必然的联系,它也算不上是一种设计模式.一般来讲,设计模 ...