我已经自动加载了一个类,它是正确的命名空间和PSR-0.我把它放在app/lib/CI中,类和它的文件名是相同的"DB".类文件本身包含实际类之前的配置文件:
require( 'config.php' );
class DB {
// ...
}
Run Code Online (Sandbox Code Playgroud)
该类显然是自动加载的,因为当我调用静态方法connect时,它会显示来自:: connect()内部的错误消息.问题是,包含的config.php中的全局变量在class :: method中不可用.
所以,要清楚,数组$ connection_settings在config.php中,但即使使用:
global $connection_settings;
Run Code Online (Sandbox Code Playgroud)
在connect方法中没有设置$ connection_settings.
有趣的是,即使该类是自动加载的,如果我在routes.php文件的顶部包含该类,一切正常.那么我不能正确地按照我认为"正常"的方式进行自动加载?
我正在使用Android Studio,我花了几个小时试图在我的MainActivity.java文件中做一个简单的HTTP请求,并尝试了多种方法,并看到了很多关于这个主题的网页,但却无法弄清楚.
当我尝试OkHttp时,我收到一条关于无法在主线程上执行此操作的错误.现在我试着这样做:
public static String getUrlContent(String sUrl) throws Exception {
URL url = new URL(sUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String content = "", line;
while ((line = rd.readLine()) != null) {
content += line + "\n";
}
return content;
}
Run Code Online (Sandbox Code Playgroud)
我将该方法直接放在MainActivity.java中,我的click事件从MainActivity.java中的另一个方法执行它:
try {
String str = getUrlContent("https://example.com/WAN_IP.php");
displayMessage(str);
}
catch(Exception e){
displayMessage(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
但是现在没有崩溃,我可以告诉该行抛出的异常是"BufferedReader",但是e.getMessage()是空白的.
我是Android Studio和Java的新手,所以请善待并帮助我解决这个非常基本的问题.最终我需要向服务器发送请求,看起来OkHttp是最好的方法,但我没有在网上随处可见的Android Studio中找到OkHttp的"Hello World".
我在MySQL数据库中有一个电子邮件队列,通过cron我每分钟处理X个未发送的电子邮件.我遇到的问题是,如果任何特定的电子邮件失败,它将停止执行其余的电子邮件.在一个案例中,这是因为SMTP身份验证失败,并且电子邮件处理基本上停止了,因为尝试发送失败的电子邮件不断发生.还有其他方式swiftmailer可能会失败,我应该知道吗?
我想知道我能在这做什么来使这个循环防弹?如果任何一封电子邮件失败,我想用错误代码(我的或swiftmailers)标记数据库中的记录.
Swiftmailer不是我们发送电子邮件的唯一方式,以下方法是驱动程序的一部分.有什么解决方案?
public function process_queue()
{
$result = [... a few mail queue records ...];
foreach( $result as $params )
{
if( ! class_exists( 'Swift', FALSE ) )
{
require '/libraries/Mail/swiftmailer/lib/swift_required.php';
}
// Prepare transport for sending mail through SMTP
if( $params['protocol'] == 'smtp' )
{
$transport = Swift_SmtpTransport::newInstance( $params['smtp_host'], $params['smtp_port'] )
->setUsername( $params['smtp_user'] )
->setPassword( $params['smtp_pass'] );
}
// Prepare transport for simple mail sending
else
{
$transport = Swift_MailTransport::newInstance();
}
// Prepare swiftmailer mailer object
$mailer = …Run Code Online (Sandbox Code Playgroud)