文档标签: dev
今天我看到一个关于程序员的基本能力要知道:抽象、多态、接口、异常处理的能力。
于是就看了一下抽象与接口
接口:
接口中只能声明抽象方法(包括静态抽象方法)和静态变量:
1. 定义抽象方法时不能加 abstract 关键字,因为默认隐式就是抽象的.
2. 不能加 final 关键字来防止接口中方法的继承.
3. 接口中的方法默认是 public 的,不能用 protected 和 private 修饰符修饰.
4. 接口内定义的方法成员不能在接口中实现.
接口中一般不考虑属性,只考虑方法,使得子类可以自由的填补和扩充接口中说定义的方法,也就是说接口偏重于行为.
一个子类要实现一个接口,如果该子类是非抽象类就必须实现接口中所有定义的方法(不管是否需要);如果该子类是一个抽象类,则可以实现接口中的方法,也可以不实现.接口也有一个显而易见的缺点就是,如果接口中的方法名改变了,那么所有实现此接口的子类将无法通过编译,因为他们说实现的方法名已经不存在了.
接口还有一个优点就是能够同时实现多个接口.
...
今天在做头像这块的功能,先是上传了一张图片,然后保存成大的头像,再其次将其缩小保存为小头像。
以下是我改过后的操作方法
[php]
//图片的缩放
public function drawImg($from,$w=100,$h=100,$newfile){
$info = getimagesize($from);
switch ($info[2]){
case 1:
$im = imagecreatefromgif($from);
break;
case 2:
$im = imagecreatefromjpeg($from);
break;
case 3:
$im = imagecreatefrompng($from);
break;
default:
exit(...
最近项目想改一下URL的格式,也就是伪静态配置,在制作过程中我使用的是win系统,很容易就弄起了!但是linux确不一样!以下是转载的内容,解决了我的问题!
ThinkPHP中默认的URL地址是形如这样的:http://localhost/Myapp/index.php/Index/index/
Myapp是我的项目文件名,默认的访问地址是上面这样的。为了使URL更加简介友好,现在要去掉中间的index.php,方法如下:
1。确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号
2。讲httpd.conf中的Allowoverride None 将None改为All
3。打开对应的项目配置文件,我的项目配置文件是Myapp/Conf/config.php ,在这个配置文件数组中增加一行,‘URL_MODEL’=>2
4。在项目的根目录下面建立一个.htaccess文件,里面写入下面的内容:
[php]
<IfModu...
改版后添加了一个栏目:好书推荐,但是导航确不是我想的那样排序,就为导航用的是wp_list_category()函数。
下面来看一下wp_list_category函数的具体应用:
说明
该标签显示含链接的博客分类目录列表。用户点击某个分类目录后,WordPress运行由模板层级规则指定的相应分类模板,在分类页面上显示该分类目录下所有日志。
用法
<?php wp_list_categories( $args ); ?>
默认用法
<?php $args = array(
‘show_option_all’ => ,
‘orderby’ => ‘name’,
‘order’ => ‘ASC’,
‘show_last_update’ => 0,
‘style’ => ‘list’,
‘show_count’ => 0,
‘hide_empty’ => 1,
‘use_desc_for_title’ => 1,
‘child_of’ =>...
平时做页面数据提交的时候,刷新又被提交了,这种情况如何解决?既如何解决重复提交!
其实要解决这个问题也很容易。只要我们用session来记录提交的次数区别就可以了。
...
今天学了一个关于减少查询的思路。
用实例来说明:
题 外话,因为现在公司是做教育这块的那么就有热门课程、最新课程、感兴趣的课程、各科的课程、各个版本的课程
如何能减注数据的查询
我的方法是将满足基本条件的数据全部查询出来,
[php]
$list_json = $this->accessCourse('ID DESC', 1);//查询出所以满足基本条件的数据,状态正常...
$list = json_decode($list_json, true);//因为查询出来的是json格式这里将其转换成array格式
//热门课程
$toplist = array_sort($list, 'NUM', SORT_DESC);//二维数组排序
$this->assign('toplist', $toplist);
//感兴趣
$interest = findArrayList($list,9);//筛选出9条数据
$this->assign('interest',...
最近在看一个关于无限分类的缓存技术。
php+mysql缓存技术的实现
本教程适合于那些对缓存SQL查询以减少数据库连接与执行的负载、提高脚本性能感兴趣的PHP程序员。
概述
许多站点使用数据库作为站点数据存储的容器。数据库包含了产器信息、目录结构、文章或者留言本,有些数据很可能是完全静态的,这些将会从一个缓存系统中得到的极大好处。
这样一个系统通过把SQL查询的结果缓存到系统的一个文件中存储,从而阻止连接数据库,构造查询与取得返回结果而提高了响应时间。
有些系统数据库并不是放在WEB服务器上的,这样需要一个远程连接(TCP或者其它类似的),或者从数据库中获取大量的数据,这样你得忍受更多时间,这决定于系统响应时间与资源利用。
前提
本教程使用MySQL作为数据库。你需要安装MySQL(www.mysql.com下载是有效的)和激活PHP MYSQL扩展(默认情况是激活的)。
由于要查询数据库,你需要知识一些SQL(结构化查询语言)的基本常识。
缓存SQL查询结果
为什么要缓存查询结果?
缓存查询结果能极大...
静态调用的成员一定要定义成 static (PHP5 ONLY)
贴士:PHP 5 引入了静态成员的概念,作用和 PHP 4 的函数内部静态变量一致,但前者是作为类的成员来使用。静态变量和 Ruby 的类变量(class variable)差不多,所有类的实例共享同一个静态变量。
[php]
<?php
class foo {
function bar() {
echo 'foobar';
}
}
$foo = new foo;
// instance way
$foo->bar();
// static way
foo::bar();
?>
[/php]
静态地调用非 static 成员,效率会比静态地调用 static 成员慢 50-60%。主要是因为前者会产生 E_STRICT 警告,内部也需要做转换。
使用类常量 (PHP5 ONLY)...
好消息一下,也许你已经看到本站页面的一些变化,发现多了许多广告。
我也很遗憾的告诉你,本站也是没有办法,给你浏览带来的不便,请谅解!
说正题吧:wordpress循环显示不同的内容
例我们的首页和栏目面,广告显示的位置是在第5条数据里面的,那么我们是如何使用的while循环呢?
首页显示文章的代码一般都是:
[php]
<?php if (have_posts()) : ?> <!--检查是否有文章如果有,继续执行,没有就跳到 else 那里-->
<?php while (have_posts()) : the_post(); ?> <!--开始准备文章内容,开始循环,每次循环输出一篇文章-->
此处显示文章内容或标题之类的。。
<?php endwhile ; ?> <!-- while 循环结束-->
<?php else : ?>
此处显示未找...
今天在制作新的首页页面需要显示所有分类及分类下的前8篇文章。
[php]
<?php
//for each category, show all posts
$cat_args=array(
'orderby' => 'name',
'order' => 'ASC'
);
$categories=get_categories($cat_args);
foreach($categories as $category) {
$args=array(
'showposts' => -1,
'category__in' => array($category->term_id),
'caller_get_posts'=>1
);
$posts=get_posts($args);
if ($posts) {
echo '...
最近笔者在采用wordpress建站的时候,发现页面会生成很多冗余的代码,有些东西其实我们用不到,而且没什么很大的作用,这些代码我找了半天也没找到源代码怎么删除,最终发现是 wp_head() 这个方法输出的代码,那么要如何删除这些不必要的头部信息呢。
去除wordpress头部不必要的元素标签
完整的wordpress头部清理代码
[php]
<?php
//remove_action( 'wp_head', 'wp_enqueue_scripts', 1 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', '...
在做PHPERCMS系统的时候需要调用系统最新的对外新闻,也是某一分类下的文章!
实例页面请点击:PHPERCMS对外新闻 查看。
今天说说WordPress的主查询函数-query_posts(),因为我正在制作的主题里面多次用到了这个函数。
query_posts()查询函数决定了哪些文章出现在WordPress主循环(loop)中,正因为如此,query_posts函数仅用于修改主页循环(Loop),而不是在页面上生成次级循环。如果你希望在主循环外另外生成循环,应该新建独立的WP_Query对象,用这些对象生成循环。在主循环外的循环上使用query_posts会导致主循环运行偏差,并可能在页面上显示出你不希望看到的内容。
query_posts()查询函数函数接收大量参数,格式与URL中的参数格式相同(如p=4表示ID为4的文章)。下面就举例说说query_posts函数的一些常用的语法格式。
1.从博客主页上排除某些分类目录
将以下代码添加到index.php文件中,使主页显示的文章可以来自除分类3以外的任...
在做项目经常需要用到PHP读取文件
例:采集、配置文件等地方。
我们在这里就转载一篇来源于IBM的文章。
了解如何使用 PHP 的各种文件函数。查看诸如 fopen、fclose 和 feof 之类的基本文件函数;了解诸如 fgets、fgetss 和 fscanf 之类的读取函数。并且发现用一两行代码处理整个文件的函数。
传统的 fopen 方法
fopen 方法可能是以前的 C 和 C++ 程序员最熟悉的,因为如果您使用过这些语言,那么它们或多或少都是您已掌握多年的工具。对于这些方法中的任何一种,通过使用 fopen(用于读取数据的函数)的标准方法打开文件,然后使用 fclose 关闭文件,如清单 1 所示。
清单 1. 用 fgets 打开并读取文件
[php]
$file_handle = fopen("myfile", "r");
while (!feof($file_handle)) {
$line = fgets($file_handle)...