Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meibuyu-micro
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
without authentication
meibuyu-micro
Commits
800a0248
Commit
800a0248
authored
Apr 22, 2021
by
王源
🎧
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除旧命令生成类文件
parent
ff8b4076
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
0 additions
and
698 deletions
+0
-698
RepositoryCommand.php
src/Command/RepositoryCommand.php
+0
-48
ValidatorCommand.php
src/Command/ValidatorCommand.php
+0
-45
ConfigProvider.php
src/ConfigProvider.php
+0
-2
FileAlreadyExistsException.php
src/Generator/FileAlreadyExistsException.php
+0
-15
Generator.php
src/Generator/Generator.php
+0
-239
RepositoryEloquentGenerator.php
src/Generator/RepositoryEloquentGenerator.php
+0
-74
RepositoryInterfaceGenerator.php
src/Generator/RepositoryInterfaceGenerator.php
+0
-22
Stub.php
src/Generator/Stubs/Stub.php
+0
-152
eloquent.stub
src/Generator/Stubs/repository/eloquent.stub
+0
-32
interface.stub
src/Generator/Stubs/repository/interface.stub
+0
-23
validator.stub
src/Generator/Stubs/validator/validator.stub
+0
-24
ValidatorGenerator.php
src/Generator/ValidatorGenerator.php
+0
-22
No files found.
src/Command/RepositoryCommand.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: zero
* Date: 2020/2/11
* Time: 11:59
*/
namespace
Meibuyu\Micro\Command
;
use
Hyperf\Command\Annotation\Command
;
use
Hyperf\Command\Command
as
HyperfCommand
;
use
Meibuyu\Micro\Generator\FileAlreadyExistsException
;
use
Meibuyu\Micro\Generator\RepositoryEloquentGenerator
;
use
Symfony\Component\Console\Input\InputArgument
;
/**
* @Command()
*/
class
RepositoryCommand
extends
HyperfCommand
{
protected
$name
=
'gen:repository'
;
/**
* Handle the current command.
*/
public
function
handle
()
{
try
{
$name
=
$this
->
input
->
getArgument
(
'name'
);
$createValidator
=
$this
->
output
->
confirm
(
'同时创建验证器?'
,
true
);
(
new
RepositoryEloquentGenerator
([
'name'
=>
$name
,
'validator'
=>
$createValidator
,
]))
->
run
();
$this
->
info
(
"Repository created successfully."
);
}
catch
(
FileAlreadyExistsException
$e
)
{
$this
->
error
(
$e
->
getMessage
()
.
' already exists!'
);
}
}
public
function
getArguments
()
{
return
[[
'name'
,
InputArgument
::
REQUIRED
,
'名称'
]];
}
}
\ No newline at end of file
src/Command/ValidatorCommand.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: wangy
* Date: 2020/2/12
* Time: 10:49
*/
namespace
Meibuyu\Micro\Command
;
use
Hyperf\Command\Annotation\Command
;
use
Hyperf\Command\Command
as
HyperfCommand
;
use
Meibuyu\Micro\Generator\FileAlreadyExistsException
;
use
Meibuyu\Micro\Generator\ValidatorGenerator
;
use
Symfony\Component\Console\Input\InputArgument
;
/**
* @Command()
*/
class
ValidatorCommand
extends
HyperfCommand
{
protected
$name
=
'gen:validator'
;
/**
* Handle the current command.
*/
public
function
handle
()
{
try
{
$name
=
$this
->
input
->
getArgument
(
'name'
);
(
new
ValidatorGenerator
([
'name'
=>
$name
]))
->
run
();
$this
->
info
(
"Validator created successfully."
);
}
catch
(
FileAlreadyExistsException
$e
)
{
$this
->
error
(
$e
->
getMessage
()
.
' already exists!'
);
}
}
public
function
getArguments
()
{
return
[[
'name'
,
InputArgument
::
REQUIRED
,
'名称'
]];
}
}
\ No newline at end of file
src/ConfigProvider.php
View file @
800a0248
...
...
@@ -28,8 +28,6 @@ class ConfigProvider
\Hyperf\ServiceGovernance\Listener\RegisterServiceListener
::
class
=>
\Meibuyu\Micro\Listener\RegisterServiceListener
::
class
,
],
'commands'
=>
[
\Meibuyu\Micro\Command\RepositoryCommand
::
class
,
\Meibuyu\Micro\Command\ValidatorCommand
::
class
,
\Meibuyu\Micro\Command\MakeModelCommand
::
class
,
],
'annotations'
=>
[
...
...
src/Generator/FileAlreadyExistsException.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: zero
* Date: 2020/2/11
* Time: 15:23
*/
namespace
Meibuyu\Micro\Generator
;
class
FileAlreadyExistsException
extends
\Exception
{
}
\ No newline at end of file
src/Generator/Generator.php
deleted
100644 → 0
View file @
ff8b4076
<?php
declare
(
strict_types
=
1
);
/**
* Created by PhpStorm.
* User: zero
* Date: 2020/2/11
* Time: 15:16
*/
namespace
Meibuyu\Micro\Generator
;
use
Hyperf\Utils\CodeGen\Project
;
use
Hyperf\Utils\Filesystem\Filesystem
;
use
Hyperf\Utils\Str
;
use
Meibuyu\Micro\Generator\Stubs\Stub
;
abstract
class
Generator
{
/**
* The filesystem instance.
*
* @var Filesystem
*/
protected
$filesystem
;
/**
* The array of options.
*
* @var array
*/
protected
$options
;
/**
* The shortname of stub.
*
* @var string
*/
protected
$stub
;
/**
* The class-specific output paths.
*
* @var string
*/
protected
$classPath
=
''
;
/**
* The file extension.
* @var string
*/
protected
$extension
=
''
;
protected
$_name
;
protected
$_namespace
;
/**
* Create new instance of this class.
*
* @param array $options
*/
public
function
__construct
(
array
$options
=
[])
{
$this
->
filesystem
=
new
Filesystem
;
$this
->
options
=
$options
;
$this
->
makeName
();
$this
->
makeNamespace
();
}
/**
* Make name.
*/
public
function
makeName
()
{
$name
=
$this
->
name
;
if
(
Str
::
contains
(
$this
->
name
,
'\\'
))
{
$name
=
str_replace
(
'\\'
,
'/'
,
$this
->
name
);
}
if
(
Str
::
contains
(
$this
->
name
,
'/'
))
{
$name
=
str_replace
(
'/'
,
'/'
,
$this
->
name
);
}
$this
->
_name
=
Str
::
studly
(
str_replace
(
' '
,
'/'
,
ucwords
(
str_replace
(
'/'
,
' '
,
$name
))));
}
/**
* Make namespace
*/
public
function
makeNamespace
()
{
$classNamespace
=
str_replace
(
'/'
,
'\\'
,
$this
->
classPath
);
$this
->
_namespace
=
'App\\'
.
$classNamespace
.
'\\'
;
}
/**
* Get extension.
*
* @return string
*/
public
function
getExtension
()
{
return
$this
->
extension
;
}
/**
* Run the generator.
*
* @return int
* @throws FileAlreadyExistsException
*/
public
function
run
()
{
$path
=
$this
->
getPath
();
if
(
$this
->
filesystem
->
exists
(
$path
))
{
throw
new
FileAlreadyExistsException
(
$path
);
}
if
(
!
$this
->
filesystem
->
isDirectory
(
$dir
=
dirname
(
$path
)))
{
$this
->
filesystem
->
makeDirectory
(
$dir
,
0777
,
true
,
true
);
}
return
$this
->
filesystem
->
put
(
$path
,
$this
->
getStub
());
}
/**
* Get destination path for generated file.
*
* @return string
*/
public
function
getPath
()
{
$project
=
new
Project
();
return
BASE_PATH
.
'/'
.
$project
->
path
(
$this
->
_namespace
.
$this
->
_name
.
$this
->
extension
);
}
/**
* Get stub template for generated file.
*
* @return string
*/
public
function
getStub
()
{
return
(
new
Stub
(
__DIR__
.
'/Stubs/'
.
$this
->
stub
.
'.stub'
,
$this
->
getReplacements
()))
->
render
();
}
/**
* Get template replacements.
*
* @return array
*/
public
function
getReplacements
()
{
return
[
'date'
=>
$this
->
getDate
(),
'time'
=>
$this
->
getTime
(),
'class'
=>
$this
->
getClass
(),
'namespace'
=>
$this
->
getNamespace
(),
];
}
public
function
getDate
()
{
return
date
(
'Y/m/d'
,
time
());
}
public
function
getTime
()
{
return
date
(
'h:i'
,
time
());
}
/**
* Get class name.
*
* @return string
*/
public
function
getClass
()
{
return
Str
::
studly
(
class_basename
(
$this
->
_name
));
}
/**
* Get class namespace.
*
* @return string
*/
public
function
getNamespace
()
{
$segments
=
explode
(
'/'
,
$this
->
_name
);
array_pop
(
$segments
);
return
'namespace '
.
rtrim
(
$this
->
_namespace
.
implode
(
$segments
,
'\\'
),
'\\'
)
.
';'
;
}
/**
* Get value from options by given key.
*
* @param string $key
* @param string|null $default
*
* @return string
*/
public
function
getOption
(
$key
,
$default
=
null
)
{
if
(
!
array_key_exists
(
$key
,
$this
->
options
))
{
return
$default
;
}
return
$this
->
options
[
$key
]
?:
$default
;
}
/**
* Helper method for "getOption".
*
* @param string $key
* @param string|null $default
*
* @return string
*/
public
function
option
(
$key
,
$default
=
null
)
{
return
$this
->
getOption
(
$key
,
$default
);
}
/**
* Handle call to __get method.
*
* @param string $key
*
* @return string|mixed
*/
public
function
__get
(
$key
)
{
if
(
property_exists
(
$this
,
$key
))
{
return
$this
->
{
$key
};
}
return
$this
->
option
(
$key
);
}
}
\ No newline at end of file
src/Generator/RepositoryEloquentGenerator.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: wangy
* Date: 2020/2/12
* Time: 9:15
*/
namespace
Meibuyu\Micro\Generator
;
class
RepositoryEloquentGenerator
extends
Generator
{
protected
$stub
=
'repository/eloquent'
;
protected
$classPath
=
'Repository/Eloquent'
;
protected
$extension
=
'RepositoryEloquent'
;
/**
* @return array
* @throws FileAlreadyExistsException
*/
public
function
getReplacements
()
{
return
array_merge
(
parent
::
getReplacements
(),
[
'interface'
=>
$this
->
getInterface
(),
'validator'
=>
$this
->
getValidator
(),
'validator_method'
=>
$this
->
getValidatorMethod
(),
]);
}
/**
* @return string
* @throws FileAlreadyExistsException
*/
public
function
getInterface
()
{
$interfaceGenerator
=
new
RepositoryInterfaceGenerator
([
'name'
=>
$this
->
name
]);
$interfaceNamespace
=
$interfaceGenerator
->
_namespace
.
$interfaceGenerator
->
_name
;
$interfaceGenerator
->
run
();
return
str_replace
([
"
\\
"
,
'/'
],
'\\'
,
$interfaceNamespace
)
.
$interfaceGenerator
->
getExtension
();
}
/**
* @return string
* @throws FileAlreadyExistsException
*/
public
function
getValidator
()
{
if
(
$this
->
validator
)
{
$validatorGenerator
=
new
ValidatorGenerator
([
'name'
=>
$this
->
name
]);
$validatorNamespace
=
$validatorGenerator
->
_namespace
.
$validatorGenerator
->
_name
;
$validatorGenerator
->
run
();
return
'use '
.
str_replace
([
"
\\
"
,
'/'
],
'\\'
,
$validatorNamespace
)
.
$validatorGenerator
->
getExtension
()
.
';'
;
}
else
{
return
''
;
}
}
public
function
getValidatorMethod
()
{
if
(
$this
->
validator
)
{
$class
=
$this
->
getClass
();
return
'public function validator()'
.
PHP_EOL
.
' {'
.
PHP_EOL
.
' return '
.
$class
.
'Validator::class;'
.
PHP_EOL
.
' }'
.
PHP_EOL
;
}
else
{
return
''
;
}
}
}
\ No newline at end of file
src/Generator/RepositoryInterfaceGenerator.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: zero
* Date: 2020/2/11
* Time: 15:15
*/
namespace
Meibuyu\Micro\Generator
;
class
RepositoryInterfaceGenerator
extends
Generator
{
protected
$stub
=
'repository/interface'
;
protected
$classPath
=
'Repository/Interfaces'
;
protected
$extension
=
'Repository'
;
}
\ No newline at end of file
src/Generator/Stubs/Stub.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: zero
* Date: 2020/2/11
* Time: 16:39
*/
namespace
Meibuyu\Micro\Generator\Stubs
;
class
Stub
{
/**
* The base path of stub file.
*
* @var null|string
*/
protected
static
$basePath
=
null
;
/**
* The stub path.
*
* @var string
*/
protected
$path
;
/**
* The replacements array.
*
* @var array
*/
protected
$replaces
=
[];
/**
* The contructor.
*
* @param string $path
* @param array $replaces
*/
public
function
__construct
(
$path
,
array
$replaces
=
[])
{
$this
->
path
=
$path
;
$this
->
replaces
=
$replaces
;
}
/**
* Create new self instance.
*
* @param string $path
* @param array $replaces
*
* @return self
*/
public
static
function
create
(
$path
,
array
$replaces
=
[])
{
return
new
static
(
$path
,
$replaces
);
}
/**
* Set base path.
*
* @param string $path
*
* @return void
*/
public
static
function
setBasePath
(
$path
)
{
static
::
$basePath
=
$path
;
}
/**
* Set replacements array.
*
* @param array $replaces
*
* @return $this
*/
public
function
replace
(
array
$replaces
=
[])
{
$this
->
replaces
=
$replaces
;
return
$this
;
}
/**
* Get replacements.
*
* @return array
*/
public
function
getReplaces
()
{
return
$this
->
replaces
;
}
/**
* Handle magic method __toString.
*
* @return string
*/
public
function
__toString
()
{
return
$this
->
render
();
}
/**
* Get stub contents.
*
* @return string
*/
public
function
render
()
{
return
$this
->
getContents
();
}
/**
* Get stub contents.
*
* @return mixed|string
*/
public
function
getContents
()
{
$contents
=
file_get_contents
(
$this
->
getPath
());
foreach
(
$this
->
replaces
as
$search
=>
$replace
)
{
$contents
=
str_replace
(
'$'
.
strtoupper
(
$search
)
.
'$'
,
$replace
,
$contents
);
}
return
$contents
;
}
/**
* Get stub path.
*
* @return string
*/
public
function
getPath
()
{
return
static
::
$basePath
.
$this
->
path
;
}
/**
* Set stub path.
*
* @param string $path
*
* @return self
*/
public
function
setPath
(
$path
)
{
$this
->
path
=
$path
;
return
$this
;
}
}
\ No newline at end of file
src/Generator/Stubs/repository/eloquent.stub
deleted
100644 → 0
View file @
ff8b4076
<?php
declare
(
strict_types
=
1
);
/**
* Auto generated file.
* Date: $DATE$
* Time: $TIME$
*/
$NAMESPACE
$
use
Meibuyu\Micro\Repository\Eloquent\BaseRepository
;
use
$INTERFACE
$
;
$VALIDATOR
$
/**
* Class $CLASS$RepositoryEloquent.
*
* @package $NAMESPACE$
*/
class
$CLASS$RepositoryEloquent
extends
BaseRepository
implements
$CLASS$Repository
{
public
function
model
()
{
//
}
$VALIDATOR_METHOD
$
}
src/Generator/Stubs/repository/interface.stub
deleted
100644 → 0
View file @
ff8b4076
<?php
declare
(
strict_types
=
1
);
/**
* Auto generated file.
* Date: $DATE$
* Time: $TIME$
*/
$NAMESPACE
$
use
Meibuyu\Micro\Repository\Contracts\RepositoryInterface
;
/**
* Interface $CLASS$Repository.
*
* @package $NAMESPACE$
*/
interface
$CLASS$Repository
extends
RepositoryInterface
{
//
}
src/Generator/Stubs/validator/validator.stub
deleted
100644 → 0
View file @
ff8b4076
<?php
declare
(
strict_types
=
1
);
/**
* Auto generated file.
* Date: $DATE$
* Time: $TIME$
*/
$NAMESPACE
$
use
Meibuyu\Micro\Validator\Contracts\ValidatorInterface
;
use
Meibuyu\Micro\Validator\HyperfValidator
;
class
$CLASS$Validator
extends
HyperfValidator
{
protected
$rules
=
[
ValidatorInterface
::
RULE_CREATE
=>
[],
ValidatorInterface
::
RULE_UPDATE
=>
[],
];
}
src/Generator/ValidatorGenerator.php
deleted
100644 → 0
View file @
ff8b4076
<?php
/**
* Created by PhpStorm.
* User: wangy
* Date: 2020/2/12
* Time: 10:05
*/
namespace
Meibuyu\Micro\Generator
;
class
ValidatorGenerator
extends
Generator
{
protected
$stub
=
'validator/validator'
;
protected
$classPath
=
'Validators'
;
protected
$extension
=
'Validator'
;
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment