看了几个关于外墙和laravel 4的教程...尝试了一些......不喜欢他们工作的方式.
例如,他们并不都提供了一种定义外观文件和服务提供商存储位置的方法......我试图远离那个并让我的头撞到几个墙,直到我决定做这个线程.
所以:假设我有一个名为Laracms(laravel cms)的应用程序.
我想将我创建的所有内容 - 外墙,服务提供商等存储在名为laracms的app下的文件夹中.
所以我有/ app/laracms/facades,/ app/laracms/serviceproviders等等.我不想将外观与数据库模型混合在一起,我希望尽可能将内容保持分离.
在我的例子中,现在让我们看一下外观的设置名称(我希望实现一个设置类,用于视图和管理员来设置misc.的东西).
Settings :: get(),Settings :: set()作为方法.
任何人都可以解释如何正确设置外墙?我不知道我做错了什么,我需要一个新的开始.
谢谢,克里斯
寻找一步一步的简单解释如何以及为什么.
我想使用DB类与IoC Container进行交易.
use Illuminate\Database\Connection as DB;
public function __construct(DB $db)
{
$this->db = $db;
}
Run Code Online (Sandbox Code Playgroud)
但是当使用db class时,我收到了一个错误.
Unresolvable dependency resolving [Parameter #0 [ <required> $dsn ]] in class PDO
Run Code Online (Sandbox Code Playgroud)
我知道,必须绑定一些东西,但我不知道是什么?
我在设计数据库(SQL/MySQL)时遇到问题.假设我们有一个用户,用户可以有很多朋友和很多帖子,并填写一些关于他自己的数据.
很明显,因为friends我们需要一个pivot_table用于n:n关系,因为posts我们需要创建一个带有user_id(1:n)关系的额外表.
所以我们需要users,user_friends并posts表.这很明显.这就是应该如何处理关系.
但现在让我们假设我们希望用户拥有以下数据:
name - text
description - text
marital status - select only one from list
favourite colour - select only one from list
hobby - select up to 3 from list
Run Code Online (Sandbox Code Playgroud)
对于文本字段(名称,描述),我们只需在users表中创建varchar/text列就可以了.
一般问题是:如何处理其他字段(从列表中选择)?我应该为它们创建关系,还是应该用它们创建标准数据列?
在我看来,没有必要为此创建关系表,因为使用列表(选择)我们只限制用户实际上可以粘贴到数据库中.理论上,我们可以允许用户手动输入他喜欢的颜色(例如red,如果他输入错误的东西,例如reds我们会比较它将允许的列表colours).性别也是如此 - 我认为,当我们只拥有女性和男性并为其创造关系时,创造额外的表格是没有意义的.
例如,我可以为属性创建以下列:
marital_status - int
fav_colour - int
hobby_1 - int
hobby_2 - int
hobby_3 - int
Run Code Online (Sandbox Code Playgroud)
还有另外一个表(甚至用PHP或其他语言的普通数组),我存储值为1的fav_colour例如是红色,值为2的爱好是音乐等等(我在这里存储这些值并不重要- 我也可以使用enum …
当我发送由于例外而失败的作业时,'ErrorException' with message 'Undefined variable: sender'我修复了代码并重新启动了事件,之前的代码再次运行,我得到了同样的错误.
我不知道为什么Laravel一遍又一遍地重新运行我的旧代码.我显然希望能够解决破坏我的工作执行的错误.
我已经尝试了两者composer dump-autoload并且php artisan queue:flush那些没有效果.有帮助吗?
我设置了一个流浪盒laravel/homestead v0.4.0.
我用composer安装了Homestead V3.0.1.
最后,我运行"vagrant up"然后"vagrant ssh",我在Homestead VM中,但......
它应该包括Xdebug,但它没有...
当我运行时phpinfo(),没有Xdebug信息.
同样在文件夹中/etc/php/7.0/fpm/php.ini或config.d文件夹中,没有Xdebug的配置.
我的最终目标是能够使用Netbeans IDE调试laravel项目.该项目在宅基地VM内部运行,但我不明白为什么宅基地虚拟机中没有Xdebug.任何有助于实现这一点的人都非常感谢
我的网站中有一个子域名,例如:
http://example.ca
http://blog.example.ca
Run Code Online (Sandbox Code Playgroud)
博客只有拥有网址的人才能访问,也就是说,它不是公共或常识.我有一堆与此域名相关的路由,要求您登录.
我已经说过nav.blade.php,如果用户登录,则应该有一个下拉列表,如果没有,则不应该有下拉列表.
这一切都有效,http://blog.example.ca但是当我去的时候,http://example.ca我不再被认证了.
是否有任何方法可以让我在所有子域中进行身份验证?不只是那些需要我进行身份验证的控制器操作的人?
我在ubuntu虚拟机上有一个laravel项目.我曾经跑过composer update,一切都很好.我不知道任何可能影响这一点的变化,但现在当我跑步时,composer update我得到了
file_get_contents(/home/user/.composer/config.json): failed to open stream:
Permission denied
有谁知道为什么?当我跑步时sudo composer update,它有效.
考虑以下:
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class HomeRouteTest extends TestCase
{
public function testVisitTheHomePage()
{
$response = $this->call('GET', '/');
$this->assertEquals(200, $response->status());
}
public function testVisitTheAboutPage()
{
$response = $this->call('GET', '/about');
$this->assertEquals(200, $response->status());
}
}
Run Code Online (Sandbox Code Playgroud)
离开了,而不是我见过记录>.>,做类似的事情:
$response = $this->call('GET', 'home.about');
$this->assertEquals(200, $response->status());
Run Code Online (Sandbox Code Playgroud)
或者....你是怎么做到的?
我得到的错误是:
vagrant@scotchbox:/var/www$ phpunit
PHPUnit 4.8.21 by Sebastian Bergmann and contributors.
FF
Time: 3.41 seconds, Memory: 14.25Mb
There were 2 failures:
1) HomeRouteTest::testVisitTheHomePage
Failed asserting that 404 matches expected 200.
/var/www/tests/HomeRouteTest.php:12
2) HomeRouteTest::testVisitTheAboutPage
Failed asserting that 404 …Run Code Online (Sandbox Code Playgroud) 我没有得到我期望的答复。
这是“位置” Web服务请求的控制器代码:
<?php
namespace App\Http\Controllers;
use App\Location;
use Illuminate\Http\Request;
class LocationController extends Controller
{
/**
* Action method to add a location with the supplied Data
*
* @param \Illuminate\Http\Request $p_oRequest Request
*
* @return JSON
*/
public function add(Request $p_oRequest)
{
try {
$p_oRequest->validate(
array(
'name' => 'required|alpha_num',
'user_id' => 'required|integer',
),
array(
'name.required' => 'Name is required',
'name.string' => 'Name must be alphanumeric',
'user_id.required' => 'Curator User Id is required',
'user_id.required' => 'Curator User Id must be …Run Code Online (Sandbox Code Playgroud) 我有这样的带有嵌套组件的代码:
<html>
<head>
<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" defer></script>
</head>
<body>
<div x-data="{isOpen: false}">
<div x-data="{isOtherOpen: false}">
<a href="#" @click="isOpen = !isOpen">Toogle element</a>
<div x-show="isOpen">
Now element is opened
</div>
<a href="#" @click="isOtherOpen = !isOtherOpen">Toogle other element</a>
<div x-show="isOtherOpen">
Now other element is opened
</div>
</div>
</div>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。有什么理由让它使用嵌套组件工作,或者 Alpine.js 还不能处理这个问题?当然,我知道改变:
<div x-data="{isOpen: false}">
<div x-data="{isOtherOpen: false}">
Run Code Online (Sandbox Code Playgroud)
进入
<div x-data="{isOpen: false, isOtherOpen: false}">
<div>
Run Code Online (Sandbox Code Playgroud)
会解决这个问题,但这样我就会有单个组件。
laravel ×7
php ×5
laravel-5 ×3
composer-php ×2
database ×2
laravel-4 ×2
laravel-5.2 ×2
alpine.js ×1
facade ×1
homestead ×1
javascript ×1
jobs ×1
laravel-5.5 ×1
mysql ×1
pdo ×1
phpunit ×1
session ×1
sql ×1
subdomain ×1
supervisord ×1
testing ×1
ubuntu ×1
unit-testing ×1
vagrant ×1
virtualbox ×1
xdebug ×1