swoft框架,开发遇到基本坑
标签:
it |
1.看好红色的部分,是提示注解带有单引号《'》的字符,检查下注解URL中是不是带有单引号《'》的符号,如果有,统一改成《""》双引号的。保存就可以了
1.检查@Controller是否注解正确,正确写法是或
2.检查@RequestMapping注解是不是正确,正确写法是@RequestMapping(route="search",method={RequestMethod::GET}),method没有大写,不要写成Method,这样就男女不分了
Stack trace:
#0
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(446):
Doctrine\Common\Annotations\AnnotationException::syntaxError('Expected
PlainV...')
#1
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(1068):
Doctrine\Common\Annotations\DocParser->syntaxError('PlainValue')
#2
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(1020):
Doctrine\Common\Annotations\DocParser->PlainValue()
#3
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(874):
Doctrine\Common\Annotations\DocParser->Value()
#4
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.p
in
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php
on line 42
PHP Fatal error: Uncaught
Doctrine\Common\Annotations\AnnotationException: [Syntax Error]
Expected PlainValue, got ''' at position 12
in class App\Controllers\TestController. in
/server/www/swoft/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:42
2.此问题是端口被占用,到swoft下的.en文件修改一个叫8181的端口,保存就行了
http://s12/mw690/002lwdEHzy7l13VrAnh4b&690
3.如果出现访问URL是对,但老是报404错误时,一定是你的注解头多一个或者多个*号了,一定是两个*号开头,多也不行少了不行。如这种情况
3.如果出现访问URL是对,但老是报404错误时,一定是你的注解头多一个或者多个*号了,一定是两个*号开头,多也不行少了不行。如这种情况
问题404
{"msg":"Route not found for
\/test\/index","file":"\/server\/www\/swoft\/vendor\/swoft\/http-server\/src\/Router\/HandlerAdapter.php","line":49,"code":404}
问题所在
4.当老是提示控制器Controller命名重复时,这是要检查下该控制器命名空间导入是否正确,导入的Controller是App\Controllers;后面有s,如果情况
5. 提示导入@Inject类,如图
6.该错误提示该类下缺少导入Bean类,在该类导入就可以了,错误提示,如图
7.swoft验证器,一定要注意,use相关的组件,如@Number,
ValidatorFrom...,所有提示Annotations都是告诉你最近的注解有误或者未use相关组件,每个错误控制台都有提示的,如图
8.执行url提示socket问题时,如果
该提示是告诉我们系统找不到这个路劲,要去检查下注解是否正确,像我这么粗心,要不是缺了/,就是prefix
9.所有看到AnnotationException都是注解问题,需要仔细看哪里有问题,想我就把$符号打成成@符号,如图
10.总结java.net.SocketException: Connection
reset几个解决方案,提示如下
@Controller(prefix="/route") @Controller("/route")11.引入共有方法运行提示该方法是空是,解决方法是在引入方法上面加入@Inject()注解
前一篇:SourceTree安装
后一篇:百度地图插件Echart学习积累

加载中…