如何在Laravel没有工匠命令的情况下查看视图CLI.我没有CLI从我的托管服务提供商,我只有访问权限FTP,运行Laravel我必须使用此命令CLI:
php artisan serve --port=8080 --host=0.0.0.0
Run Code Online (Sandbox Code Playgroud)
如果没有此命令,我怎样才能获得视图?
谢谢.
每次我跑php artisan routes,我都会得到ReflectionException错误,那个UsersController班级不存在.我很确定它确实如此.
我试过php composer dump-autoload和php artisan clear-compiled,他们都给予了同样的错误.
这是我的错误登录 /app/storage/logs/
[2014-03-30 01:41:24] production.ERROR: exception 'ReflectionException' with message 'Class UsersController does not exist' in C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php:28
Stack trace:
#0 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\ControllerInspector.php(28): ReflectionClass->__construct('UsersController')
#1 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Routing\Router.php(269): Illuminate\Routing\ControllerInspector->getRoutable('UsersController', 'users')
#2 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php(211): Illuminate\Routing\Router->controller('users', 'UsersController')
#3 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Facade::__callStatic('controller', Array)
#4 C:\wamp\www\re3\app\routes.php(14): Illuminate\Support\Facades\Route::controller('users', 'UsersController')
#5 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\start.php(269): require('C:\wamp\www\re3...')
#6 [internal function]: {closure}(Object(Illuminate\Foundation\Application))
#7 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(792): call_user_func(Object(Closure), Object(Illuminate\Foundation\Application))
#8 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(569): Illuminate\Foundation\Application->fireAppCallbacks(Array)
#9 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(552): Illuminate\Foundation\Application->bootApplication()
#10 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(44): Illuminate\Foundation\Application->boot()
#11 C:\wamp\www\re3\vendor\laravel\framework\src\Illuminate\Console\Application.php(33): Illuminate\Console\Application::make(Object(Illuminate\Foundation\Application))
#12 C:\wamp\www\re3\artisan(46): …Run Code Online (Sandbox Code Playgroud) 我对 laravel4 很陌生,但有一些 codeigniter 背景。我尝试弄清楚如何将 url 路由到控制器方法
我的网址应该是这样的
/admin/products{controller_name}/parser{controller_method}
Run Code Online (Sandbox Code Playgroud)
比控制器
<?php namespace App\Controllers\Admin;
use App\Models\Product;
use Image, Input, Notification, Redirect, Sentry, Str;
class ProductsController extends \BaseController {
public function index()
{
return \View::make('admin.products.index');
}
public function parser()
{
return \View::make('admin.products.parser');
}
}
Route::group(array('prefix' => 'admin', 'before' => 'auth.admin'), function()
{
Route::resource('products', 'App\Controllers\Admin\ProductsController');
Route::resource('products/parser', 'App\Controllers\Admin\ProductsController@parser');
});
Run Code Online (Sandbox Code Playgroud) 所以我写了一个嵌套资源的简单应用程序:帖子和评论.当然,帖子是父母,评论是孩子,每个一对一相关.很简单.现在我想要评论索引(和创建,POST)页面生活posts/{post_id}/comments,更新(PUT)生活/posts/{post_id}/comments/{comment_id}.所以我尝试了这个:
Route::resource('posts', 'PostsController');
Route::group(array('prefix' => 'posts/{post_id}'), function() {
Route::resource('comments', 'CommentsController');
});
Run Code Online (Sandbox Code Playgroud)
但由于路由名称已注册为,因此无法正常工作posts.{post_id}.comments.create.基本上post_id占位符被计为路线的一部分,并不是很整洁.任何方式做得很好还是我应该逐个编写路由并摆脱group/Route :: resource/prefix的事情?
我的路线:
Route::group(array("namespace" => "languages"),function(){
Route::resource("languagesService", "languageServiceController");
Route::resource("languages","languageController");
});
Run Code Online (Sandbox Code Playgroud)
languageservicecontroller和languagecontroller是子文件夹语言.
在登录尝试期间,我保存了用户名和密码
Session::put('username', $user['username']);
Session::put('password', $user['password']);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从languageController中检索时
$username = Session::get('username');
$password = Session::get('password');
Run Code Online (Sandbox Code Playgroud)
我得到了以下错误
"类'语言\会话'未找到".
我正在使用laravel + composer.我正在加载方式/生成器包,当我运行composer update时给出了这个错误:
使用包信息加载composer存储库更新依赖项(包括require-dev)
致命错误:在phar:///usr/local/Cellar/composer/1.0.0-alpha8/libexec/composer.phar/src/Composer/DependencyResolver/Solver中,允许的内存大小为536870912字节(尝试分配67108864字节)第170行的.php
我有这个简单的脚本,可以正常形式工作:
<script>
$(function () {
$('.datepicker').datetimepicker({ pickTime: false, format: "DD-MM-YYYY" });
$('.timepicker').datetimepicker({ pickDate: false, format: "HH:mm", pick12HourFormat: false });
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是,如果我通过 ajax 将表单加载到 Bootstrap 3 模式中 - 时间和日期选择器不起作用。我知道问题是因为我通过 ajax 加载表单。
那么如何为新加载的ajax表单注册函数呢?
编辑:这就是我调用 ajax 模型的方式:
<a data-toggle="modal" class="btn btn-danger" href="/example" data-target="#myModal">Load Modal</a>
Run Code Online (Sandbox Code Playgroud) 尝试mysql_real_escape_string()在Laravel中使用时出现数据库连接错误.Fluent查询正常工作,因此我假设数据库已正确配置.
如何mysql_real_escape_string()使用Laravel?我正在使用它来逃避我需要自己构建的SQL查询中的值,因为Fluent的限制.
构建我自己的SQL查询的PHP代码
foreach($listings as $listing) {
$listing = get_object_vars($listing);
$query = 'INSERT IGNORE into archive ';
$query .= '(' . implode(',', array_keys($listing)) . ') ';
$query .= 'VALUES(' . implode(',', array_values( array_map('mysql_real_escape_string', $listing) )) . ')';
DB::query($query);
}
Run Code Online (Sandbox Code Playgroud)
错误
mysql_real_escape_string() [function.mysql-real-escape-string]:
Access denied for user 'nobody'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud) 我有一个表格:
{ Form::open(array('action' => 'RatesController@postUserRate', $client->id)) }}
{{ Form::text('rate', '', array('placeholder' => 'Enter new custom client rate...')) }}
{{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
Run Code Online (Sandbox Code Playgroud)
如何通过表单将$ client-> id值传递给我的控制器方法?
我目前有一个控制器方法,如下所示:
public function postUserRate($id)
{
$currentUser = User::find(Sentry::getUser()->id);
$userRate = DB::table('users_rates')->where('user_id', $currentUser->id)->where('client_id', $id)->pluck('rate');
if(is_null($userRate))
{
...
}else{
....
}
}
Run Code Online (Sandbox Code Playgroud)
并且错误日志显示"对于RatesController :: postUserRate()缺少参数1"
关于如何将这个$ client-> id传递给我的控制器的任何想法,以便我可以按照我想要的那样使用它?
我想发送数据以在视图中实时更新,例如显示操作状态的进度条.在laravel 4中最好的方法是什么?
我正在开发一个基于Laravel 4的项目,每个用户都可以兑换一个串行密钥.
我已经创建了一个管理员后端,我可以轻松地粘贴到一个键列表中,或者上传它们的文件.
假设$key_string是我上传的换行符的字符串,并且想要解析然后上传所包含的键字符串 - 这里是添加键的简化代码:
$key_string = rtrim($key_string);
$key_string = str_replace("\n\r", "\n", $key_string);
$keys = explode( "\n", $key_string);
foreach($keys as $index => $key) {
Key::create(
array( "serial" => trim($key) )
);
}
Run Code Online (Sandbox Code Playgroud)
由于我上传的数字组成千上万,这有时需要30秒,在此期间管理面板自然不会显示任何内容.
现在,我不介意花这个时间.我不需要优化上传以使用一个查询等,但我想有一些实际的反馈,所以我知道上传已经走了多远.
当我上传密钥时,我希望能够每隔几秒或百分比滴答在我的视图中更新进度条或计数器(使用当前$index)
有没有一种简单的方法可以轻松地处理这种情况,最好是集成在Laravel 4中?我假设这会涉及ajax,但是有人能指出我正确的方向吗?
laravel ×8
laravel-4 ×7
php ×6
ajax ×2
composer-php ×2
javascript ×1
jquery ×1
mysql ×1
webserver ×1