- 【正常配置了beast扩展,phpinfo信息也显示了,但是就是不运行】
xuefeiniao
持续部署php源代码管理
正常配置了beast扩展,phpinfo信息也显示了,但是就是不运行场景原因解决排查过程扩展场景项目中使用到了beast进行源码保护,指定类存在,但是报错信息提示类找不到,beast扩展添加到了正在运行的php版本下的ext文件夹下,php.ini也将扩展开启了,使用phpinfo,也显示了beast扩展信息原因项目放在了一个中文命名的文件夹下,导致扩展加载失败,但其他php代码如:echophp
- PHP学习笔记 PHP基本语法——PHP开始和结束标记PHP指令分隔符PHP注释PHP空白符处理
咖啡续命又一天
PHPphp
PHP开始和结束标记以“”结束是PHP/FI2.0的标记,已经被替换。以“”结束是PHP3.0开始的标准标记,这是PHP推荐使用的标记。不能禁用这种标记、XML风格标记。以“”结束是PHP3.0开始的标记,通过php.ini配置文件中的short_open_tag选项打开,不推荐使用。干扰XML文档的声明。短输出标签以开始和以结束是PHP3.0开始的标记已经废弃。PHP7.0.0版本中将此风格标记
- 宝塔服务器调优工具 1.1(Opcache优化)
拍客圈
服务器运维
第一步:宝塔服务器调优工具1.1(按照下面的参数填写)第二步:路径/www/server/php/80/etc/php.ini搜索jit=jit=1235其中1235根据服务器情况修改第三步:路径/www/server/php/80/etc/php-cli.ini搜索jit=1235其中1235必须和宝塔服务器调优工具jit里面填写的数字一样注意:必须临时关掉宝塔系统加固和企业防篡改(不然修改不成
- php 隐藏报错,php去除报错
牧岛藤子
php隐藏报错
最简单的办法就是直接在php程序代码中加入下面代码:error_reporting(E_ALL^E_NOTICE^E_WARNING);这种办法可以关闭所有notice和warning级别的错误。把这个语句放在您脚本的功用包含文件中,通常为config.php或者conn.php中就可以控制输出了。也可以在php.ini中进行设置了方法如下:打开PHP安装目录下的php.ini文件,找到displ
- nginx php 报错,window 下nginx 支持php 并且报错及解决办法
梁颖聪
nginxphp报错
由于服务器是window并且已经跑了nginx和mysql要加上php前面文章已经写出怎么支持window+php这里就解决错误解压到安装目录下设置环境变量,我的电脑->属性->高级系统设置->高级->环境变量->在path变量里加上F:\php把php目录下的php.ini-development拷贝为php.ini打开php.ini修改路径要把mysql前的分好去掉建一个test文件并进行测试
- php 如何找到报错地方
ecommerce_tester
PHP跨境软件php开发语言
如何查找PHP报错PHP中的报错可以是服务器端的,也可以是客户端的。对于服务器端报错,可以通过以下方法查找:1.检查PHP错误日志文件PHP错误日志文件通常位于/var/log/php-errors.log或/tmp/php-errors.log。该文件包含所有PHP错误和警告信息。2.启用PHP错误显示可以在PHP.ini配置文件中通过设置display_errors和log_errors选项来
- Parse error: syntax error, unexpected '}'
醉品人生
PHP基础打开php短标签
Parseerror:syntaxerror,unexpected'}'报这个错误,可能原因有:一,对应错误行号上下多了可少了一个‘}’;二,php.ini没打开短标签的支持设short_open_tag=On就行了;如果没权限或是代理空间,那把改为吧,本来应该有的习惯。
- wordpress上传图片时出现服务器无法处理图片
wodrpress资源分享
wordpress服务器运维
wordpress上传图片时出现“服务器无法处理图片。如果服务器繁忙或没有足够的资源来完成任务,就会发生这种情况。上传较小的图片可能会有所帮助。”以下是解决这个问题的方法:服务器资源相关增加PHP内存限制:在wp-config.php文件中添加以下代码,将WordPress内存限制提高到256M:define('WP_MEMORY_LIMIT','256M');调整PHP设置:在php.ini文件
- PHP4 Session定制与使用指南
JKIT沐枫
android
PHP4的Session功能虽然比现代PHP版本简单,但在其时代是革命性的。以下是如何在PHP4中定制和使用Session功能的指南。基本Session使用php自定义Session存储1.自定义Session保存路径php//在php.ini中设置session.save_path="/tmp/custom_sessions"//或在脚本中动态设置ini_set('session.save_pa
- Limesurvay系统“48核心&92GB服务器”优化方案
才 神
服务器android运维
1、Redismaxmemory16GB#限制Redis内存(预留足够空间给其他服务)maxmemory-policyvolatile-lru#自动淘汰旧会话(仅对带TTL的键)save300100#仅保留一个条件减少阻塞stop-writes-on-bgsave-errorno#快照失败仍允许写入2、php.ini(1)Redis连接优化persistent=1:#启用持久连接,减少TCP握手开
- JIT+Opcache如何配置才能达到性能最优
行思理
运维LNMPphpJITc++
首先打开php.ini文件,进行配置1、OPcache配置;启用OPcacheopcache.enable=1;CLI环境下启用OPcache(按需配置)opcache.enable_cli=0;预加载脚本(PHP7.4+,加速常用类);opcache.preload=/path/to/preload.php;分配内存大小(根据项目大小调整,建议128M-512M)opcache.memory_c
- laravel+swoole 实现websocket(php+web 双向通信)
我是一只叶子
php_swoolephpswoolewebsocket
1.环境配置安装swoole扩展(这里使用的是宝塔开启)php.ini增加extension=swoole.so实现流程1.swoole创建socket服务2.web连接socket完成订阅发布3.php连接socket完成订阅发布2.文件创建#app/Console/Commandsphpartisanmake:commandSocket#在Kernel.php里增加命令列表Commands\S
- php连接postgresql
guoxiaoqian8028
PHP/Python
首先推荐一下postgres数据库,免费,强大,甚至某些方面比商业数据库还要好,大家可以试试。安装:附安装图解(网上找的):http://blog.sina.com.cn/s/blog_5edb701b0100mwi7.html补充一点:最后StackBuilder提示下载的东西,如果网速不好,或者有事,可以不下载,不影响使用。PHP连接:php.ini中将extension=php_pgsql.
- web安全之文件上传学习总结
初岄
Web漏洞php开发语言后端web安全安全
概念 客户端选择发送的文件->服务器接收->网站程序判断->临时文件->移动到指定的路径 服务器接收的资源程序文件上传时的错误代码值:0表明没有错误发生,文件上传成功。值:1表明上传的文件超过了php.ini中upload_max_filesize选项限制的值。值:2表明上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。值:3表明文件只有部分被上传。值:4表明没有文件被上传
- php 自带压缩工具,PHP自带ZIP压缩、解压缩类ZipArchiv使用指南_php技巧
西域经略使
php自带压缩工具
要使用该PHP扩展类,需要(PHP5>=5.2.0,PECLzip>=1.1.0),部分方法需要PHP5.2.+,且php.ini配置支持zip对于win系统,直接去掉php_zip.dll扩展的注释,然后重启http服务(IIS或Apache)即可Linux还没有试验,理论上差别不会很大功能:1、解压缩zip文件2、将文件压缩成zip文件3、追加文件到zip文件4、将文件夹打包成zip文件(需要
- php自带解压缩,PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
一朵云从平流层坠下
php自带解压缩
要使用该PHP扩展类,需要(PHP5>=5.2.0,PECLzip>=1.1.0),部分方法需要PHP5.2.+,且php.ini配置支持zip对于win系统,直接去掉php_zip.dll扩展的注释,然后重启http服务(IIS或Apache)即可Linux还没有试验,理论上差别不会很大功能:1、解压缩zip文件2、将文件压缩成zip文件3、追加文件到zip文件4、将文件夹打包成zip文件(需要
- 2025年常见渗透测试面试题- PHP考察(题目+回答)
独行soc
2025年渗透测试面试指南android安全web安全面试红蓝攻防职场和发展python
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。PHP考察php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?php反序列化漏洞的原理?解决方案?phpwebshell检测,有哪些方法php的%00截断的原理是什么?php.ini可以设置哪些安全特性php
- Nginx 解析漏洞复现
癞皮狗不赖皮
网络安全web安全nginx解析漏洞
漏洞原理该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。主要是由于下面两个配置的错误:cgi.fix_pathinfo=1,该配置项的作用是如果访问的.php文件不存在,则采用上层路径,例如访问/test.png/.php,一般情况下.php文件是不存在的就会将/test.png解析。这个配置在php.ini中可以修改,默认是开启的security.limit_extensio
- 宝塔面板面试内容整理-PHP配置文件管理
不务正业的猿
面试运维宝塔面板php开发语言服务器网络协议职场和发展运维宝塔
在宝塔面板中,PHP配置文件管理是一个非常重要的功能,允许用户对每个PHP版本的配置文件进行编辑和调整,满足不同应用和环境的需求。通过宝塔面板,用户可以轻松修改php.ini文件、调整PHP设置,优化性能、增加安全性或解决特定的兼容性问题。PHP配置文件管理概览宝塔面板支持通过图形化界面来管理每个PHP版本的配置文件,主要包括:
- wordpress 容器内如何修改php.ini的upload_max_filesize 配置
rock——you
运维php开发语言
首先,容器内没有/etc/php目录,那就需要通过php--ini命令来查看配置路径。root@8493683eed97:/var/www/html#php--iniConfigurationFile(php.ini)Path:/usr/local/etc/phpLoadedConfigurationFile:(none)Scanforadditional.inifilesin:/usr/loca
- Installation failed, reverting ./composer.json and ./composer.lock to their original content.
dnpao
linux
解决方案如下:打开php.ini,并搜索disable_functions指令,从里面搜索“proc_open”,删除即可。注意,要看我们一共安装了几个php,都要相应的删除掉。
- EasySwoole热加载
龏皚觻髾檃
PHPEasySwoolephp
文件热加载由于swoole常驻内存的特性,修改文件后需要重启worker进程才能将被修改的文件重新载入内存中解决:Process的方式实现文件变动自动进行服务重载1.安装inotify扩展peclinstallinotify2.操作成功后,修改php.ini,加入extension=inotify.so新建文件App/Process/HotReload.php并添加如下内容,也可以放在其他位置,请
- Linux常见的敏感目录
306Safe
linuxphpapache
渗透过程中,我们可能会碰到一些任意文件读取,以下是Linux下的常见的敏感目录,可以使用burp进行爆破。/apache/apache/conf/httpd.conf/apache/apache2/conf/httpd.conf/apache/php/php.ini/bin/php.ini/etc/anacrontab/etc/apache/apache.conf/etc/apache/httpd
- PHP 杂项 函数
宇哥资料
phpphpandroid开发语言
PHP杂项函数简介我们把不属于其他类别的函数归纳到杂项函数类别。安装杂项函数是PHP核心的组成部分。无需安装即可使用这些函数。Runtime配置杂项函数的行为受php.ini文件中的设置的影响。杂项配置选项:名称默认描述可更改ignore_user_abort"0"FALSE指示只要脚本在客户机终止连接后尝试进行输出,脚本将被终止。PHP_INI_ALLhighlight.string"#DD00
- HW基线检查
kui954
HWlinux运维威胁分析HW面试
windows,Linux的敏感文件Windows系统:C:\boot.ini//查看系统版本C:\windows\system32\SAM//账号密码文件C:\windows\php.ini//php配置信息C:\windows\my.ini//数据库配置文件Linux:/etc/passwd//账户信息/etc/shadow//账户密码文件/etc/my.conf//mysql配置文件Linu
- PHP部署时的几个服务器配置修改说明
TpCode
php服务器开发语言
在PHP应用程序的部署过程中,正确配置服务器是至关重要的。下面将介绍几个常见的服务器配置修改,以确保PHP应用程序能够正常运行。以下是对应的配置修改和相应的源代码示例:修改php.ini配置文件php.ini是PHP的主要配置文件,我们可以通过修改该文件来调整PHP的行为。以下是一些常见的配置项及其说明:a.修改错误报告级别错误报告级别控制PHP是否显示和报告错误。在开发环境中,建议将错误报告级别
- Windows上安装Magento2.4+
wustzdd
MagentoPHPwindowsphp
Magento2.4+的系统要求PHP-PHP7.3+数据库-MySQL5.7+Elasticsearch7.6+Web服务器-Apache2.4x或Nginx1.8x操作系统-跨平台浏览器-GoogleChrome,InternetExplorer或Firefox等安全套接字层(SSL)-HTTPS的有效安全证书第1步:开启以下PHP扩展并修改php.ini和mysql.ini的配置参数.php
- docker学习笔记(5):docker搭建DNMP环境
submarineas
Linux虚拟化
DNMP介绍环境介绍:├──mysql├──nginx│└──nginx.conf└──php└──php.ini本篇文章将介绍一个更加方面的相当于LNMP(linux+NGINX+MySQL+PHP)环境的部署方式,效率更加高效,而对于lnmp或者lamp的介绍,可以看我去年写的那篇文章:Ubuntu16.04安装Apache,Mysql,PHP7,phpMyAdmin过程解析和错误总结生成my
- PHP + XlsWriter实现百万级数据导入导出,如何实现
程序员阿凡提
PHP实战教程php开发语言
在PHP中使用XlsWriter(如xlswriter扩展)处理百万级数据的导入导出,需重点解决内存占用和性能问题。以下是分步骤的实现方案:一、环境准备1安装xlswriter扩展从PECL安装:peclinstallxlswriter在php.ini中启用扩展:extension=xlswriter.so2调整PHP配置处理大数据时需增加内存和执行时间限制:memory_limit=1024Mm
- PHP 使用 Redis 实现分布式锁
半桶水专家
phpRedisphpredis分布式
要在PHP中使用Redis实现分布式锁,可以使用类似的逻辑:通过SETNXPX命令获取锁,并通过唯一标识符(UUID)确保释放锁的正确性。以下是基于PHP的实现。PHP使用Redis实现分布式锁1.安装Redis扩展在PHP中使用Redis,你需要安装phpredis扩展。可以通过以下命令安装:peclinstallredis安装完成后,确保在php.ini中启用了Redis扩展:extensio
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持