按照前面的博客搭建步骤,可以在本地搭建一个看起来还不错的个人博客,但是总感觉有些不足。一个是网页都只是“静态的”,也就是说博客里的每一个网页都是事先在本地早就生生成好的,按照hexo的机制,每次更新一个博客都要至少新增两个文件.md文件和一个新的index.html文件,虽然两个文件本身不是很大,但总是感觉有些不友好;另外一个也是最让我难受的就是跟新博文的方式,只能通过markdown的方式新增文件,然后重新生成整个hexo工程,过程很是繁琐。为了解决这两个问题,我决定对博客进行大换血,使用数据库方式存储博文,PHP作为博客的后台处理程序,实现博客的展示,同样实现一个简单的后台管理页面方便我可以随时随地的管理博客内容。
我用过的数据库也就是sql server和mysql了,sql server是window环境下大家常用的数据库,因为有专门的图形化数据库管理工具,所以用起来也是比较简单,功能也比较强大。对比mysql来说,mysql没有官方的数据库管理工具,但是却有小巧灵活的特点,我的本地环境使用linux环境,所以也是选用了mysql作为数据库,为了方便简单的操作,我在window安装了Navicat Premium,可以通过IP的形式远程和图形化管理liunx下面的数据库。
mysql的安装方式,这里就不再详细总结了,CSDN上搜一下,有详细的步骤和配置说明。
之前在学校的的时候学习过javeEE,jsp之类的一些东西,所以说到搭建动态网页的时候首先想到的是用java搭建,不过当时只是在windows下面搭建的编程和运行环境,如何在linux下面的搭建呢?确实是个问题,在网上找了许久,找到的方法是先在win下面将调试好的程序导出包,把包放到linux对应的java目录下,感觉应该会有更好的方案,不过感觉应该会比较麻烦,最终放弃了使用java的方案。听过PHP是最好的语言,但是一直没有接触过,所以想试下用PHP代替java,网上搜索了下,都说是CI框架比较简单,适合初学者。最终也是使用了PHP的CI框架实现。下面简单记录下CI的几个点:
$config['base_url'] = 'locahost';
$config['index_page'] = '';
在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess填充代码如下
RewriteEngine on
RewriteCond $1 !^(index\.php|css|js|img|fonts|editormd|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
之后在每个view下的文件添加
<base href = "<?php echo site_url();?>">
对应的页面就能通过“/”访问到项目路径下的资源了。这样设置之后不仅可以解决上面的问题,而且RewriteCond设置的对应的目录下的资源也可以直接通过URL访问到。
这部分其实就是将原来hexo生成的静态HTML文件,填充php代码和删除冗余的html内容。对于不熟悉前端的新手来说可能有一定的难度。
拿主页为例,主要替换的就是原来的博文部分,博文部分的HTML结构都是一样的,不过是每个博文的标题内容是不同的。通过PHP循环业务层传过来的数组,完成对每个博文的内容赋值即可。
<?php
foreach ($pages as $page)
{
?>
<p style="font-size: 14px;>
<?php echo $page->content;?>
</p>
<?php
}
?>
HTML文本其实比较简单,不过讲解起来也不是一两句话能说清楚的,这里就不详细讲解了,建议有需要的同学还是简单学习下相关的知识,毕竟熟悉之后就可以随意的改动你所看到的页面了。