开发环境与发布环境隔离开。
每次在开发环境测试没有问题后,再发布到发布环境。
直接使用简单的脚步:
大致功能:
1. 修改数据库连接文件。(或其他配置文件)
2. copy发布。
3. 标记发布时间。
rename tms\conn.php conn.php.demo
rename tms\conn.php.tms conn.php
XCOPY tms ..\tms /E/Y
rename tms\conn.php conn.php.tms
rename tms\conn.php.demo conn.php
COPY tms\login.html+
echo "发布成功!"
pause
copy **+会修改该文件时间属性,然后页面可以获取并展示当前发布时间。
<pre name="code" class="html"><div style="width:300px;margin: 0 auto;color: #6e7b8b">
发布于<script language=JavaScript>document.write( " "+ document.lastModified + " @James")</script>
</div>
mark下,基类虚的析构函数。
当一个类打算被用作其它类的基类时,它的析构函数必须是虚的。考虑下面的例子:
class A
{
public:
A() { ptra_ = new char[10];}
~A() { delete[] ptra_;} // 非虚析构函数
private:
char * ptra_;
};
class B: public A
{
public:
B() { ptrb_ = new char[20];}
~B() { delete[] ptrb_;}
private:
char * ptrb_;
};
void foo()
{
A * a = new B;
delete a;
}
在这个例子中,程序也许不会象你想象的那样运行,在执行delete a的时候,实际上只有A::~A()被调用了,而B类的析构函数并没有被调用!这是否有点儿可怕?
如果将上面A::~A()改为virtual,就可以保证B::~B()也在delete a的时候被调用了。因此基类的析构函数都必须是virtual的。