没有找到苗条课。我不确定这里做错了什么

时间:2015-08-19 04:26:14

标签: php slim

以下是我的索引文件的代码,该文件位于根目录中:

<?php
require 'vendor/autoload.php';
date_default_timezone_set('Asia/Seoul');

//$log = new Monolog\Logger('name');
//$log->pushHandler(new Monolog\Handler\StreamHandler('app.txt', Monolog\Logger::WARNING));
//$log->addWarning('Oh Noes.');

$app = new \Slim\Slim( array(
  'view' => new \Slim\Views\Twig()
));
$app->add(new \Slim\Middleware\SessionCookie());

$view = $app->view();
$view->parserOptions = array(
    'debug' => true
);
$view->parserExtensions = array(
    new \Slim\Views\TwigExtension(),
);
//Path To Our View
$app->view->setTemplatesDirectory("app/view");

// Configs for mode "production"
$app->configureMode('production', function () use ($app) {
    // Set the configs for production environment
    $app->config(array(
        'debug' => false,
        'database' => array(
            'db_host' => 'localhost',
            'db_port' => '',
            'db_name' => 'mini',
            'db_user' => 'root',
            'db_pass' => 'yaounde'
        )
    ));
});


/******************************************** THE MODEL ********************************************************/

// Initialize the model, pass the database configs. $model can now perform all methods from Mini\model\model.php
$model = new \app\Model\Model($app->config('database'));

/************************************ THE ROUTES / CONTROLLERS *************************************************/

$app->get('/', function() use($app){
  $app->render('about.twig');
})->name('home');

$app->get('/contact', function() use($app){
  $app->render('contact.twig');
})->name('contact');

$app->post('/contact', function() use($app){
  $name = $app->request->post('name');
  $email = $app->request->post('email');
  $msg = $app->request->post('msg');

  if(!empty($name) && !empty($email) && !empty($msg)) {
    $cleanName = filter_var($name, FILTER_SANITIZE_STRING);
    $cleanEmail = filter_var($email, FILTER_SANITIZE_EMAIL);
    $cleanMsg = filter_var($msg, FILTER_SANITIZE_STRING);
  } else {
    $app->flash('fail', 'All Fields Are Required.');
    $app->redirect('contact');
  }

  $transport = Swift_MailTransport::newInstance();
  $mailer = \Swift_Mailer::newInstance($transport);

  $message = \Swift_Message::newInstance();
  $message->setSubject('Simple Blog Contact Form Submission');
  $message->setFrom(array(
     $cleanEmail => $cleanName
  ));
  $message->setTo(array('admin@localhost'));
  $message->setBody($cleanMsg);

  $result = $mailer->send($message);

  if($result > 0) {
    $app->flash('success', 'Thanks So Much! You are AWESOME!!!');
    $app->redirect('contact');

  } else {
    $app->flash('fail', 'So Sorry, Something Went Wrong. Please Try Again!');
    // log that there was an error
    $app->redirect('/contact');
  }


});

$app->run();

然后,我在文件夹Model.php

中有app\Model\Model.php
<?php

namespace app\Model;

use PDO;

class Model
{

    function __construct($config)
    {

    }
}

我收到此错误:

  

致命错误:第43行的E:\ xampp \ htdocs \ aaaaaslim \ index.php中找不到类'app \ Model \ Model'

1 个答案:

答案 0 :(得分:9)

您可以使用Composer加载自己的命名空间。

只需将以下内容添加到composer.json

"autoload": {
    "psr-4": {
        "app\\": "app/"
    }
}

当你进行作曲家更新时,自动加载会知道你的命名空间app,并且无需手动导入即可包含你的类。