首页 开发编程 正文

php网站怎么克隆

并且通过拷贝这些原型创建新的对象原型模式是基于深复制和浅复制的,新对象的所有成员变量(基本类型或引用类型)都含有与原有对象相同的值,就会将这个变量的值拷贝一份到新对象里面,那么这个引用指向的对象不会新生成一份,这些引用变量将指向被复制过的新对象,那么B对象里面的inti的值也是4,如果A里面有一个成员变量c是引用类型的,对于B里面的c...

php网站怎么克隆,PHP对象的浅复制与深复制的实例详解?

原型模式

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象

原型模式是基于深复制和浅复制的,在Java里面有2种复制:

浅复制

将一个对象复制之后,生成一个新的对象,新对象的所有成员变量(基本类型或引用类型)都含有与原

有对象相同的值,如果原有对象的成员变量是基本数据类型,就会将这个变量的值拷贝一份到新对象

里面,如果原有对象的成员变量是引用数据类型,那么这个引用指向的对象不会新生成一份,而是,

在新对象里面的这个引用跟原有对象的引用指向的是同一个对象。

深复制

将一个对象复制之后,生成一个新的对象,新对象的基本数据类型变量含有与原有对象相同的值,如

果原有对象的成员变量是引用数据类型,在新对象里面,这些引用变量将指向被复制过的新对象,而

不再是指向原有的那些被引用的对象,深复制把要复制的对象所引用的对象都复制一遍。

比如:

有一个A对象,经过复制之后产生一个B对象,如果A里面有一个int型的变量i值为4,那么B对象里面

的inti的值也是4,A对这个int型变量的改变,不会影响B,如果A里面有一个成员变量c是引用类型

的,它指向了对象D,经过复制,B里面也会有一个c,这个c也指向D对象,A的c和B的c指向的是同一个

对象D,这就是浅复制。如果是深复制,A里面的c指向一个D对象,对于B里面的c会指向一个新的对象

,他们指向的不是同一个对象,这样,在原有对象里面对成员变量c指向的对象D做的任何改变,不会

影响新对象。

举个最简单的例子:

classA{

publicinti;

publicintj;

}

Aa=newA();

浅拷贝:

Aa1=a;

深拷贝:

Aa1=newA();

a1.i=a.i;

a1.j=a.j;

感觉如下:

浅拷贝只拷贝对象本身

深拷贝则拷贝对象中引用的对象,一直拷贝下去。

wordpress怎样添加注册功能?

一、添加注册表单 1、首先在当前主题的目录下新建一个php文件,命名为reg-page.php,然后将page.php中的所有代码复制到reg-page.php中; 2、删除reg-page.php开头的所有注释,即 /* 与 */ ,以及它们之间的所有内容; 3、搜索:the_content,可以查找到类似代码:,将这段代码替换成代码一(注意使用UTF-8编码另存为替换原来的reg-page.php) 二、添加表单处理代码 在reg-page.php开头处中,将第一个

opc项目怎么迁移?

企业备份服务器数据库的数据一般有四种方式: 数据库文件直接拷贝,如果不是频繁的读写长期占用,可以直接拷贝数据库目录源文件,另行保存一份即可。

数据库管理程序备份,比如phpmyadmin,有导出为.sql的备份文件格式,或者其他管理工具,都可以连接到数据库然后导出备份。

如果在本机操作,还可以使用脚本制定计划任务,定时执行脚本复制备份。 使用云备份系统,搭建云数据库云备份,全时间自动备份。

服务器linux环境运行php?

以centos7为例,模式为lnmp。(使用root用户登录)

更新阿里云yum源

1、进入源目录

# cd /etc/

yum.repos.d/

2、备份原repo文件

# for name in `ls`; do mv $name ${name}.bak ; done

3、下载阿里云yum源

# curl

http://mirrors.aliyun.com/repo/Centos-7.repo > Centos-7.repo

4、清理并生成缓存并安装epel

nginx安装

1、安装pcre,可以支持rewrite功能。

# yum install pcre*

2、安装openssl,可以支持ssl功能

# yum install openssl*

3、从官网下载稳定版,此时是1.16.1,然后解压(如果没有wget ,请执行yum install wget)

# cd /usr/local/src

# wget http://nginx.org/download/nginx-1.16.1.tar.gz

# tar -zxvf nginx-

1.16.1.tar.gz

# cd nginx-1.16.1

4、安装软件三板斧(./configure , make , make install)。

# ./configure --prefix=/usr/local/nginx-1.16.1 --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre

# make

# make install

5、centos7防火墙打开http, https

# firewall-cmd --zone=public --add-service=http --permanent

# firewall-cmd --zone=public --add-service=https --permanent

# firewall-cmd --reload

6、启动nginx

# /usr/local/nginx-1.16.1/sbin/nginx

当通过你系统的IP地址访问出现如下画面,则安装成功

关闭nginx:

# /usr/local/nginx-1.16.1/sbin/nginx -s stop

当改变了nginx.conf后,要重置:

# /usr/local/nginx-1.16.1/sbin/nginx -s reload

安装php和php-fpm

1、安装php7,这里选择php70w,需更新webtatic源

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

# yum install php70w

2、安装php扩展,这里以xml扩展示例,你也可以使用yum list php70w*查看所有扩展。

#yum install php70w-xml

3、查看安装结果

#php -v (查看版本)

#php -m (查看扩展)

4、安装php-fpm,(这个与nginx一起使用来解析PHP脚本的)

#yum install php70w-fpm

5、启动php-fpm,并加入开机启动

# systemctl start php-fpm

# systemctl enable php-fpm

6、新建www用户

# useradd www -s /sbin/nologin

7、修改nginx.conf,加入php解析

第2行

第45行

第65-71行改成如下图所示:

8、将html目录所有者改为www,并将权限改为755

# chown -Rf www:www /usr/local/nginx-1.16.1/html

# chmod -Rf 755 /usr/local/nginx-1.16.1/html

9、重启nginx看到如下结果,即配置成功

# /usr/local/nginx-1.16.1/sbin/nginx -s reload

怎么把所有网页设置在同一个页面?

方法一:

1、将 xx.html 修改为 page-xx.php 上传到你当前使用的主题目录中;2、在WordPress后台创建别名为 xx 的页面后发布,大功告成。

注意:创建的页面别名一定要与page-后面一样。或者在步骤1中将xx改为你的页面ID。

方法二:

1、将 xx.html 修改为page-template-xx.php 然后再该文件头部添加:

然后上传到你当前使用的主题目录中;2、在WordPress后台创建别名为 xx 的页面并选择页面模板为第一步中创建的 xx页面模板,然后发布,大功告成。

如果你添加的页面是首页,可以在 设置 > 阅读 > 首页显示 中设置将此页面设置为首页。

关于css、JS、图片等外部文件

如果你的页面有引用CSS、JS以及图片,例如:sample.css、sample.js、sample.jpg,可以将这些文件一并复制到主题目录下,然后引用地址改为:

如果有视频等,同上面方法。

如果你想了解更多:

2017.11.04 新增:

上面介绍了将WordPress转换为Page(页面)的方法,下面介绍转换为首页、分类、标签、文章等页面的方法:

front-page.php:这个文件是首页,如果没有则使用上面方法二中在后台设置为首页的页面;home.php:文档归档页面,通常1中都没有使用这个显示首页;index.php:1、2都没有使用这个显示首页;single.php:文章模板文件;404.php:404页面文件;page.php:页面模板文件,支持 page-$id (即页面 ID)或 page-$slug (即页面别名);category.php:分类归档模板文件,支持 category-$id 或category-$slug ;tag.php:标签归档模板文件,支持 category-$id 或category-$slug ;author.php:作者归档模板文件,支持 category-$id 或 category-$slug;date.php:日期归档模板文件;archive.php:如果主题没有7-10之中的任一文件,那么都会用此模板文件显示对应内容,当此模板文件也不存在时,则使用index.php显示,支持 archive-$id 或archive-$slug。

header.php、footer.php、sidebar.php等文件一般都是“页面部分”模板文件,即:页眉、页脚、边栏。

如果你能看懂英文,详细可参考官方文档:

WordPress模板文件等级介绍(官方)

WordPress获取主题目录里的文件和目录

本文转载自互联网,如有侵权,联系删除