我想在这里成为一个面向对象的编码器,所以我给自己一些简单的任务.
我构建了一个显示给定目录中所有图像的类.这很好,所以我将该类分成两个类,一个用于读取目录中的文件名并将它们传递给一个数组,另一个用于解析该数组并显示图片.子类中的方法与父类中的方法完全相同(当然除了parent :: for this->).
现在看来,当我实例化子类并调用它的方法时,根本没有任何事情发生.
类别:
class Picfind
{
public function findPics($dir){
$files = array();
$i=0;
$handle = opendir($dir);
while (false !== ($file = readdir($handle))){
$extension = strtolower(substr(strrchr($file, '.'), 1));
if($extension == 'jpg' || $extension == 'gif' || $extension == 'png'){
// now use $file as you like
$i++;
$files['file' . $i] = $file;
}
}
return $files;
}
}
class DisplayPics extends Picfind
{
function diplayPics($dir)
{
echo 'displayPics method called';
foreach(parent::findPics($dir) as $key => $val) {
echo …
Run Code Online (Sandbox Code Playgroud) 我试图通过我在jQuery中添加到它的类名来定位元素.如果我添加一个新元素,这似乎工作正常,但我无法将新事件绑定到已经在DOM中的元素,但已被更改.
我究竟做错了什么?
$(document).ready(function(){
$(".activateRow").on("click",function(){
$(this).text('Deactivate').addClass('deactivateRow btn-danger').removeClass('activateRow btn-success');
$(this).parent().parent().removeClass('inactiveRow');
});
$(".deactivateRow").on("click",function(){
$(this).text('Activate').removeClass('deactivateRow btn-danger').addClass('activateRow btn-success');
$(this).parent().parent().addClass('inactiveRow');
});
})
Run Code Online (Sandbox Code Playgroud) 下面代码中$ i的值始终为2.它似乎是第一次递增,但只是那个时间.有什么想法吗?
foreach ($records as $row){
$i = 1;
$i++
if ($i % 2 != 0){
$trClass = 'odd';
}else{
$trClass = 'even';
}
echo '<tr class="' . $trClass . '"><td>' .
anchor("admin/delete/$row->id", 'delete') . '</td><td>' .
anchor("admin/edit/$row->id", 'Edit') . '</td>';
foreach ($row as $key => $value){
echo '<td>' . $value . '</td>';
}
echo '</tr>';
$i++;
}
Run Code Online (Sandbox Code Playgroud)