`
lesorb
  • 浏览: 123588 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
PHP判断单值是否为空使用最为常用的empty即可,但是,在判断有键值的数组或多维数组时就会出现困难,以下就是PHP中判断数组(多维)数值是否为空的函数: class Test{ public static function array_is_null($arr = null){ if(is_array($arr)){ foreach($arr as $k=>$v){ if($v&&!is_array($v)){ return false; } $t = self::array_is_null($v); ...

PHP之抽象

    博客分类:
  • it
的抽象类中定义抽象方法,目的就是要规范实现类的方法;如果没有这种定义对实现的关系,则就失去了面向对象的意义,虽然,在很多情况下为了避免类被实例化也可能在类的头部加上abstract标志,但是,这不是唯一的方法。面向对象的本身意义就是为了实现继承复用,而不是为了保守。 抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。从这个定义不难看出,抽象的本质意义即在于归纳,抽取,抓住了这个特质,那么就可以抓住其要点。 在PHP,中抽象类可以继承抽象类,并实现某些方法,但是如果类方法被声明为抽象的,那么其中就不能包括具体的功能实现。 在抽象类中的abstract function在子类中 ...

模式病

    博客分类:
  • it
当我翻完一片设计模式的范本时,然后,对于下一个项目,想都没想清楚就要尝试在新项目中使用一把!自然,在项目中展示出大量的模式的确让人感到一种非凡的架构能力。所以,我这么做了,也因此,我可能已经犯了一种病“模式病”! 如果设计模式成了到处敲打的锤子,那么,仍属也就随之而来。 在项目中硬塞进不必要的模式,是over-engineering. 我们一定不要重新发明wheel,正确的方法是:问题->识别->方案->恰当运用->设计模式.
1,关于属性     显然,默认的属性(字段whatever我喜欢这么叫),java中规定所有的变量都要显式的赋予初始值,在类初始化时,如果懒得做这个工作,那么编译器会给它们赋默认值:     整型为0,布尔为false,对象为null... 2,关于构造器     一个类可以有多个构造器吗?当然。没错,构造器是可以重载的。在构造器中初始化变量是很有效的,也很友好。如果没有呢,java类也会有默认的构造器,默认的赋值...但是,如果你已经建立了构造器(带参),那么在创建类的时候,new Class()有效的办法就是手动提供一个空的构造器...     通过方法赋予属性初始化的变量也是很不错的技巧 ...
sql server存储过程是利用其提供的Transact-SQL语言所编写的程序。     它所遵循的几个原则:  1)、变量说明  2)、ANSI兼容的SQL命令(Select,Update….)  3)、一般流程控制命令(if…else…、while….)  4)、内部函数     它所需要注意的几个常用设置:   a).      SET ANSI_NULLS {ON | OFF}   b).      SET QUOTED_IDENTIFIER ON     这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。SQL-92 标准要 ...
OS的发展经历了: 1.无os时代,即人工操作:卡片,纸带等输入输出I/O直接与计算机交互或借助外围机(磁带磁盘等)实现的脱机方式; 2.单道批处理(SBPS),借助脱机处理的优点,把多个任务组成一个作业一次输入到磁带或磁盘中,再通过Monitor自动的处理其过程,排序运行。 3.多道批处理(MBPS),在单道的基础上,将多个作业组成一个个任务队列,再由作业调度程序来选择一个或多个作业调入内存执行。 自此,操作系统的雏形已经形成:它首先是一组程序的集合,其次它控制并管理计算机软硬件资源,并能够合理的处理各种作业。 4.分时系统(TSS):用户的需求催生了tss,由于批处理只能独享处理机资源,所以 ...
1.关于@,这个符号将告诉编译器,忽略可能的错误,注意它使用在函数前 2.关于&,这个符号将告诉编译器,当前参数是引用传递,在函数中显式的改变值将使得参数实际值改变,注意在对象复制时的巧妙应用: class a{ var $aa="ABC"; } $b = new a(); $c = $b; echo $b->aa;//这里输出AAA echo $c->aa;//这里输出AAA $b->aa = "BBB"; echo $c->aa;//这里输出BBB 3.关于<& ...
内存管理通常有:页式管理和段式管理、段页式管理等等。 1.页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame)。 优点: 没有外碎片,每个 ...
c语言实现冒泡法排序,如下: void _bubbleSort(int a[],int length) { int i,j,temp; int bools; bools = TRUE; for(i=0;i<length-1 && bools;++i) { bools = FALSE; for(j=0;j<length-i;++j) { if(a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; boo ...
c语言实现字符串拷贝,如下: void myStrcpy(char *target,char *source) { while((*target = *source) != '\0') { target++; source++; } } 注意声明函数定义:void myStrcpy(char *target,char *source);
在MySQL 3.23.15版本之后,MySQL提供了数据库复制的功能,可以实现两个数据库实时同步,增强了MySQL数据库的稳定性,而且可以在企业级应用的数据库层实现Cluster… MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave),利用该特性实现读写分离,是很多大型网站常用的数据库架构。MySQL的replication的配置相对于Oracle来说,要简单的多。本文演示了在同一台windows机器中配置单向异步复制的过程。这里的Replication是异步复制。MySQL的同步复制是MySQL Cluster中的 ...

UML初探

    博客分类:
  • java
UML(Unified Modeling Language)是用来对软件密集系统(应该是指系统中软件是主要部分,在开发软件的成本占系统成本的大部分)进行可视化建模的一种语言。 标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义: ...
有时候,为了调用上的方便,我们需要使用requestAction。 它是CakePHP提供的,实现了无论当前请求在哪里,都能够任意调用的一个简便方法。这在某种程度上违背了MVC的设计理念,但是,为了追求灵活性,CakePHP在后续版本中一直保留了这个特性,并做出了一定的改进。 经过查看,我得知,requestAction是对象类Object中的一个公有方法,是CakePHP中所有其他类的父类,这便能理解为什么它可以在任意位置被访问到了。 但在使用中,我发现requestAction十分耗费资源,效率极差。 在requestAction中最终返回值为: $dispatcher-> ...
A PHP/Java Bridge implementation is distributed as a standard JEE web application, JavaBridge.war. It can be deployed to any standard Java servlet engine or Java application server. It is a distributable ZIP archive, containing example PHP scripts, the JavaBridge.jar Java library, and a MIT-licensed ...
CakePHP中对国际化(internationalization通常将它简写为i18n)和本地化(localization被简写为l10n)的支持遵循国际组织(Openi18n)的相关标准. 通常相关的文件包括了PO和MO文件,资源包的位置一般在/app/locale/资源名称/LC_MESSAGES/,命名是default.mo AND default.po. PO是Portable Object(可移植对象)的缩写形式;MO是Machine Object(机器对象) 的缩写形式。PO 文件是面向翻译人员的、提取于源代码的一种资源文件。而MO文件是面向计算机的、由 PO 文件通过 get ...
Global site tag (gtag.js) - Google Analytics