簡體   English   中英

找不到Slim類。我不確定這里做錯了什么

[英]Slim class not found.I am not sure what is it am doing wrong here

這是我的索引文件的代碼,該代碼位於根目錄中:

<?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'

您可以使用Composer加載自己的名稱空間。

只需將以下內容添加到您的composer.json

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

當您進行作曲家更新時,自動加載將了解您的名稱空間app並在不手動導入它們的情況下即時包含您的類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM