我正在研究使用Doctrine的项目.所以我开始学习Doctrine并编写简单的测试并在一开始就陷入困境.之前我开发了很多cakePHP应用程序,我对蛋糕烘焙有很好的了解.
我有一个测试mysql数据库和2个表.我想生成所有模型类,并希望将它们包含在我的MVC应用程序的控制器中以进行CRUD.
我使用composer安装了Doctrine,并在项目文件夹中找到了一个名为/ vendor的文件夹.在项目文件夹中创建了一个新的bootstrap.php
/vendor
/bootstrap.php
Run Code Online (Sandbox Code Playgroud)
bootstrap.php里面的代码是
// bootstrap.php
require_once "vendor/autoload.php";
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
$paths = array("/path/to/entities-or-mapping-files");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '',
'dbname' => 'test',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$em = EntityManager::create($dbParams, $config);
Run Code Online (Sandbox Code Playgroud)
我看到旧版本中有一个名为Doctrine_Core :: generateModelsFromDb的方法.
我只想要基本模型开始,并想知道如何将它们包含在其他PHP文件中以进行CRUD.
我正在尝试使用魔法函数进行重载
这是我的代码:
类文件1
class vLiteUser{
public function __call($methodname,$arguments)
{
if($methodname=='UserLogin'){
switch(count($arguments)){
case 1:
$this->UserLogin($arguments[0]);
break;
case 2:
$this->UserLogin($arguments[0],$arguments[1]);
break;
default: echo "string";
break
}
}
}
public function UserLogin($data0='')
{
echo $data0;
}
public function UserLogin($data0='',$data2='')
{
echo $pass
}
} ?>
Run Code Online (Sandbox Code Playgroud)
我在另一个文件中创建了对象
$userObj = new vLiteUser();
$userObj->UserLogin(data0,data1);
$userObj->UserLogin(data0);
Run Code Online (Sandbox Code Playgroud)
我可能缺少一些东西,但无法找到它到底是什么
我还想问私有函数是否也包含在重载中。
我搜索了许多博客和网站,但找不到完美的答案。每当我使用作曲家时,我都必须包括autoload.php文件,然后对于每个要自动加载的类,我都必须将该类与命名空间一起使用。现在,我想知道这个作曲家的优势是什么,在这里我可以轻松地包含类文件通过include_once或require_once而不是分别使用autoload.php和类文件。当我使用作曲家时,我必须编写以下代码:
include_once("vendor/autoload.php");
use namespace/derectoryname/classname;
Run Code Online (Sandbox Code Playgroud)
每当我手动添加
include_once("classname.php");
Run Code Online (Sandbox Code Playgroud)
谁能清除这些?
我或多或少有以下几行:
$strings = [
"Concepto de la transferencia Un concepto uno ",
"Concepto traspaso Orden #121231",
"Concepto trasnferencia 121231 Magical Concept ",
]
Run Code Online (Sandbox Code Playgroud)
并有以下正则表达式:
|Concepto\s+(?>de la )?(?>tr.+erencia|traspaso)\s+(?P<concepto>.+)$|
Run Code Online (Sandbox Code Playgroud)
这很好地捕获了每个字符串的末尾部分:
"Un concepto uno "
"Orden #121231"
"121231 Magical Concept "
Run Code Online (Sandbox Code Playgroud)
(包括尾随空格).但是当我们存在时,我希望匹配排除尾随空格.导致:
"Un concepto uno"
"Orden #121231"
"121231 Magical Concept"
Run Code Online (Sandbox Code Playgroud)
我试过了:
Concepto\s+(?>de la )?(?>tr.+erencia|traspaso)\s+(?P<concepto>.+)(?>\s+)?$
Run Code Online (Sandbox Code Playgroud)
要么
Concepto\s+(?>de la )?(?>tr.+erencia|traspaso)\s+(?P<concepto>.+)\s*$
Run Code Online (Sandbox Code Playgroud)
但显然没有工作.无法使内联修饰符Eg(U)适用于该concepto组.
我知道我不能trim完成比赛并完成比赛.只是想让这个正则表达式工作.:)
我想知道有什么区别之间存在new QThread(this)以及new QThread()和这将如何使用时,影响我的代码的行为的QThread.
我试图在keras lambda层中使用tensorflow唯一函数(https://www.tensorflow.org/api_docs/python/tf/unique)。代码如下:
def unique_idx(x):
output = tf.unique(x)
return output[1]
then
inp1 = Input(batch_shape(None, 1))
idx = Lambda(unique_idx)(inp1)
model = Model(inputs=inp1, outputs=idx)
Run Code Online (Sandbox Code Playgroud)
现在使用时**model.compile(optimizer='Adam', loss='mean_squared_error')**
出现错误:
ValueError:张量转换请求的dtype float32的张量为dtype int32:'Tensor(“ lambda_9_sample_weights_1:0”,shape =(?,),dtype = float32)'
有人知道这里的错误是什么或使用张量流函数的其他方式吗?
我正在研究中等大小的数据集,比如从具有100,000个观测值的大型数据集中采集的9000个观测值.
我可以使用以下set.seed()函数来保证每次都获得完全相同的子集吗?
set.seed(10000)
Run Code Online (Sandbox Code Playgroud)
我可以使用set.seed()的最大值是多少?
我正在尝试实现 Symfonys 依赖注入容器。
我设置了 2 个容器,一个用于数据库,一个用于系统用户。
和我使用addArgument()的这两个App阶级和SystemUser阶级,推到App类SystemUser对象,并为SystemUser类Database对象。
索引.php:
require_once 'vendor/autoload.php';
use TestingDI\App;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
$containerBuilder = new ContainerBuilder();
$containerBuilder->register('database', '\TestingDI\Database');
$containerBuilder->register('system.user', '\TestingDI\SystemUser')
->addArgument(new Reference('database'));
$containerBuilder->register('app', '\TestingDI\App')
->addArgument(new Reference('system.user'));
$database = $containerBuilder->get('database');
$systemUser = $containerBuilder->get('system.user');
$app = $containerBuilder->get('app');
# Initialize App class
$app = new App();
Run Code Online (Sandbox Code Playgroud)
应用程序.php:
<?php
namespace TestingDI;
use TestingDI\SystemUser;
class App {
public $systemUser;
public function __construct(SystemUser $systemUser)
{
var_dump($systemUser);
}
} …Run Code Online (Sandbox Code Playgroud) php dependency-injection symfony symfony-dependency-injection
我需要通过 Spark Streaming 读取 CSV 文件,并将输出流写入具有特定行/大小块的控制台。
使用 Spark StreamingreadStream读取 CSV 并将writeStream其写入控制台。
val df: DataFrame = sparkSession.readStream
.option("sep", ",")
.schema(userSchema)
.csv("path")
val res: StreamingQuery = df.writeStream
.format("console")
.start()
Run Code Online (Sandbox Code Playgroud)
我希望所有 50000 行以 50 行为一组显示在控制台中,但我只得到 20 行,或者我需要设置一个要在控制台中显示的数字。
在我的树枝模板也有一些需要每一页就像变量userName,userId或userImage。
将它们注入模板的最佳方法是什么?
我已经读过文章如何将变量注入所有模板,但是如何将变量(例如当前用户)写入config/packages/twig.php文件?
现在,每个控制器中都有这样的代码:
return $this->render('admin/users/index.html.twig', [
"allUsers" => $allUsers,
"pageTitle" => "Benutzerübersicht",
"userName" => "Max Mustermann",
"userId" => 5,
"userImage" => "http://i.pravatar.cc/150?img=6"
]);
Run Code Online (Sandbox Code Playgroud)
(这些只是示例值,因为我尚未集成Authentication,但想创建我的模板)
有没有比在每个控制器中注入每个变量更好的方法了?
php ×5
symfony ×2
apache-spark ×1
c++ ×1
composer-php ×1
doctrine-orm ×1
keras ×1
model ×1
overloading ×1
pcre ×1
python ×1
python-3.x ×1
qt ×1
qthread ×1
r ×1
regex ×1
symfony-dependency-injection ×1
symfony4 ×1
twig ×1