小编Bri*_*ier的帖子

Laravel 4:为什么我的类自动加载但全局变量不可用

我已经自动加载了一个类,它是正确的命名空间和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文件的顶部包含该类,一切正常.那么我不能正确地按照我认为"正常"的方式进行自动加载?

laravel laravel-4

6
推荐指数
2
解决办法
2086
查看次数

如何在MainActivity.java中创建简单的HTTP请求?(Android Studio)

我正在使用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".

java http android-studio okhttp3

6
推荐指数
1
解决办法
3万
查看次数

使用swiftmailer发送多封电子邮件时如何绕过失败的电子邮件?

我在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)

php email swiftmailer

1
推荐指数
1
解决办法
855
查看次数

标签 统计

android-studio ×1

email ×1

http ×1

java ×1

laravel ×1

laravel-4 ×1

okhttp3 ×1

php ×1

swiftmailer ×1