我正在尝试创建 php 类来处理与我的数据库的所有交互。此时,每个类代表数据库中的一个表,我想创建一个要扩展的接口或类,其中包含所有表共享的方法。
public static function find_by_sql($sql){
global $database;
$response = $database->query($sql);
$object_array = array();
while($next = $database->fetch_array($response)){
$object_array[] = self::instantiate($next);
}
return !empty($object_array) ? $object_array : false;
}
private static function instantiate($result_array){
$object = new static;
foreach($result_array as $attribute=>$value){
if($object->has_attribute($attribute)){
$object->$attribute = $value;
}
}
return $object;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是实例化方法需要与其子类的属性交互。我习惯于使用 java,我可以在接口中定义抽象 getter 和 setter 方法以及默认方法来完成此操作。我可以在 php 中做类似的事情吗?
更进一步,我还希望能够包含以下方法:
public static function find_by_id($id){
$sql = "SELECT * FROM users WHERE id=\"{$id}\" LIMIT 1";
$result_array = parent::find_by_sql($sql);
return !empty($result_array) ? array_shift($result_array) : …Run Code Online (Sandbox Code Playgroud) 我一直在尝试创建一个Java游戏,但我遇到了障碍,即使我只是使用print语句测试它,我也无法让java听我的任何键.根据我的理解,我已经正确实现了KeyListener,并将关键监听器添加到Applet,但它仍然无法正常工作.
我的主要课程:
import java.awt.*;
import javax.swing.*;
public class Container extends JApplet implements Runnable {
private static final long serialVersionUID = 1L;
public static Dimension size = new Dimension(720,560); //Size of Screen
private static final int PIXELSIZE = 2;
public static Dimension pixel = new Dimension(size.width/PIXELSIZE,
size.height/PIXELSIZE); // Dimesions of screen in terms of pixels
public static final String NAME = "Game";
public static boolean isRunning = false;
private Image screen;
public static Level level;
public static MainCharacter p1;
public Container(){ …Run Code Online (Sandbox Code Playgroud)