在数据库中,让我们说,我有我的用户的表这些字段:name,favorite_color,created_at,等...
使用Eloquent保存:
$user = new User;
$user->name = "John";
$user->favorite_color = 'blue'; // Notice the underscore
$user->save();
Run Code Online (Sandbox Code Playgroud)
$user = new User;
$user->name = "John";
$user->favoriteColor = 'blue'; // camelCase
$user->save();
Run Code Online (Sandbox Code Playgroud)
以上哪一个是正确的?
在PhpStorm中,什么是折叠或扩展文件中所有注释(doc)块的快速方法?
在这里的文档中它说:
Folding and expanding code blocks works for entire classes, inner and anonymous classes, method bodies, import lists, comments, HTML and XML tags, closures and language injections.
然后进一步说:
If you hold the Alt modifier and click a toggle button in the gutter, the code block will be collapsed or expanded recursively, i.e. all sub-blocks within the parent block will also be collapsed or expanded.
但是我没看到这是如何Alt modifer工作的?我按住Alt然后单击切换按钮,只有该块单独折叠.我在顶级doc块中以及属性/方法doc块中尝试了这个.我错过了什么吗?
我正在使用Paypal Payments Advanced和托管结帐页面 (iframe)。这使客户可以选择单击“paypal 付款”(按钮)(paypal 的快速结帐)或使用信用卡付款。一切似乎都工作得很好,除了在使用 NVP API 传递参数时我未能成功地显示各个行项目。相反,我只看到总数(见下图)。
我还相信这意味着根本不会发送订单项(即使我使用信用卡付款),因为当我登录 PayPal 查看交易详细信息时,我没有看到任何订单项。
以下是我当前使用的 NVP 参数:
"PARTNER" => "PayPal",
"VENDOR" => "company_here",
"USER" => "user_here",
"PWD" => "password_here",
"TRXTYPE" => "S",
"AMT" => "2.16",
"ITEMAMT" => "2.00",
"TAXAMT" => "0.16",
"L_NAME0" => "Test Product 1",
"L_DESC0" => "Test Product Description",
"L_AMT0" => "1.00",
"L_TAXAMT0"=> "0.08",
"L_QTY0" => "1",
"L_NAME1" => "Test Product 2",
"L_DESC1" => "Test Product 2 description",
"L_AMT1" => "1.00",
"L_TAXAMT1"=> "0.08",
"L_QTY1" …Run Code Online (Sandbox Code Playgroud) 假设我在Laravel中的包是测试/测试.
我在工作台中创建了这个包,并且在Jason Lewis的教程之后它一直很好用.现在我想将软件包从工作台移到供应商目录.这是所有教程都不足的地方,甚至是laravel文档.我不想使用git来移动文件,所以我只是将测试/测试包从工作台复制到供应商目录(然后从工作台中删除它).我没有从工作台(或我在.gitignore文件中注意到的任何其他文件)复制test/test/vendor文件夹.然后我从我的新vendor/test/test目录运行composer install.然后我从laravel根目录做了一个composer dump-autoload.
现在当我运行我的应用程序时,我得到一个错误,当包在工作台中时我没有得到:
Class 'Test\Test\TestServiceProvider' not found
(this is coming from \bootstrap\compiled.php on line 4121)
Run Code Online (Sandbox Code Playgroud)
我也从laravel根做了一个php artisan dump-autoload,我得到同样的错误.
有任何想法吗?或者有人可以带我到一个教程,将包开发一直带到它在供应商目录中的最终休息点?
假设我有这样的网址:
还有一个像这样的简单控制器:
class UsersController extends Controller {
public function index()
// call some services
// return a view
}
public function dataRefresh {
// call some services
// return some JSON
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的routes.php我正在努力:
Route::get('admin/users', array('as' => 'admin.users', 'uses' => 'Admin\Users\UsersController@index'));
Route::get('admin/users????' , array('before' => 'ajax', 'as' => 'admin.users', 'uses' => 'Admin\Users\UsersController@dataRefresh'));
Run Code Online (Sandbox Code Playgroud)
我在第二个路径中可以做什么来要求URL查询参数 ?data ,并且还需要将其设置为 data=refresh?我如何确保它不与其他路线冲突?
注意:我知道某些人可能不会将此视为"漂亮网址".我在适当的时候实现了漂亮的URL/slugs,但是我也认为在很多情况下查询参数更清晰更清晰(即让用户清楚地了解页面URL的哪一部分用于过滤数据) datagrid ...并确保用户可以删除参数而不会导致页面中断或丢失).谷歌自己以及许多其他声誉良好的网站都是这样做的.
注意:我已将ajax路由过滤器应用于第二个路由.我还设置了路由指向我的控制器中的dataRefresh方法.
这是我所拥有的.有任何想法吗?
每次我执行以下操作:
$user = new User;
$user->name = 'John';
$user->save();
Run Code Online (Sandbox Code Playgroud)
我希望NOW()在MySQL中更新一个名为"modified"的字段.我不能使用Laravel的时间戳,因为我只使用一个修改过的字段.我可以依赖MySQL为我做这个,但我想知道是否有办法在我的Laravel模型中实现这一点?也许在某种程度上使用mutator来保存之前设置它?
作为奖励:我将如何做这样的事情$user->modified = "NOW()"?(这显然是错误的,但希望证明这一点)
我在新的Homestead php7盒子上装了Laravel/Lumen并遇到了这个错误:
FatalThrowableError in MemcachedConnector.php line 51:
Fatal error: Class 'Memcached' not found
Run Code Online (Sandbox Code Playgroud)
做一个phpinfo();节目没有memcached扩展,但sudo service memcached status说memcached正在运行.这里似乎有一个用于memcached的php7分支:https://github.com/php-memcached-dev/php-memcached/tree/php7
谁能指导我如何让它在新的php7 Homestead VM中运行?
编辑:我刚看到hometead安装文档,它说"Memcached(PHP 5.x Only)".问题仍然是如何让它运作.
假设您有一个名为“Next in Line”的简单应用程序。任何需要长时间排队的企业都可能希望您的软件能够为客户提供更好的排队体验。
利益相关者表示,“当客户想要门票时,他们会走到我们的计算机控制台并输入他们的电子邮件地址。然后他们将收到一封电子邮件,其中包含他们的票号和我们应用程序的唯一访问登录权限,以获取更多票务队列功能”。发送带有票号的电子邮件(以及应用程序的访问权限)对于业务来说是不可或缺的。
我们的命令处理程序(应用程序级别)可能如下所示:
class TakeTicketCommandHandler
{
private $repo;
public function __construct(TicketRepository $repo)
{
$this->repo = $repo;
}
public function handle(TakeTicketCommand $command)
{
$ticket = new Ticket(new EmailValueObject($command->getEmail()));
DB::transaction(function () {
// Send email here from the command handler?
// Seems domain "leaky" because Ticket Aggregate Root is responsible for this?
...
$this->repo->persist($ticket);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们的票证聚合根可能如下所示:
class Ticket extends AggregateRoot
{
private $id;
private $email;
public function __construct(EmailValueObject $email)
{
$this->id = new GUID();
$this->email = …Run Code Online (Sandbox Code Playgroud) 这是我正在查看的一些代码(我是 TypeScript 的新手):
// Set up decorator
const proxy = Object.create(null) as ts.LanguageService;
const oldLS = info.languageService;
for (const k in oldLS) {
(<any>proxy)[k] = function () {
return (<any>oldLS)[k].apply(oldLS, arguments);
}
}
Run Code Online (Sandbox Code Playgroud)
看这部分代码:
(<any>proxy)[k] = function () {
return (<any>oldLS)[k].apply(oldLS, arguments);
}
Run Code Online (Sandbox Code Playgroud)
为什么需要强制转换,(<any>proxy)[k]因为并非所有对象都可以通过括号表示法访问?此外,为什么上面的赋值不是简单地写成:((<any>proxy)[k] = (<any>oldLS)[k];这段代码试图完成什么)?
我的网址是:www.foo.com/some-bar-slug-here/page
如果在上面显示的slug中找到字符串"bar",我无法获取捕获的路径:
Route::any('{myslug}/page/', array('as'=>'bar-page', 'uses'=>'Controllers\MyBar@index'))
->where('myslug','/bar/');
Run Code Online (Sandbox Code Playgroud)
如果我使用正则表达式[0-9A-Za-z\-]+它可以工作,但它不起作用/bar/.有任何想法吗?