Ci框架代码提示

1.https://github.com/topdown/phpStorm-CC-Helpers

2.External Libraries上右键->Configure PHP Include Path

3.system/core Controller.php Model.php database/DB_query_builder.php 选中3个核心文件->右键->Mark as Plain Text

4.新建 application/controllers/test/Cli.php

<?php
	defined('BASEPATH') or exit('No direct script access allowed');

	class Cli extends CI_Controller {
	    function filename($path=APPPATH . 'models/', $exten = '.php', $ifchild = true){
	        static $file_array=array();
	        $path = preg_replace('/(.*)([^\/])$/', '$1$2/', $path);
	        if (is_dir($path)) {
	            $H = @ opendir($path);
	            while(false !== ($_file=readdir($H))){
	                if(is_dir($path.$_file) && $_file != "." && $_file!=".."){
	                    if($ifchild){
	                        $this->filename($path.$_file, $exten ,$ifchild);
	                    }
	                }elseif(is_file($path.$_file) && $_file!="." && $_file!=".."){
	                    if($exten == '*'){
	                        array_push($file_array, $_file);
	                    } else {
	                        if(preg_match('/(.*)'.$exten.'/', '/'.$_file.'/')){
	                            array_push($file_array, $_file);
	                        }
	                    }
	                }
	            }
	            closedir($H);
	        }
	        $array = $file_array;

	        return $array;
	    }

	    function create_my_models(){
	        $content_header = <<< 'str'
	<?php die();

	/**
	 * Add you custom models here that you are loading in your controllers
	 *
	 * <code>
	 * $this->site_model->get_records()
	 * </code>
	 * Where site_model is the model Class
	 *
	 * ---------------------- Models to Load ----------------------
	 * <examples>
	 *
	str;
	        $content_ender = <<< 'str'
	  */
	class my_models
	{
	}

	// End my_models.php
	str;
	        $my_modes_full_path = './my_models.php';
	        if(!file_exists($my_modes_full_path)){
	            if($fp=fopen($my_modes_full_path,'w')){
	                fwrite($fp,$content_header);
	            } else {
	                echo '创建文件失败, 请检查是否为权限不足!' . PHP_EOL;
	                exit();
	            }
	        } else {
	            echo '文件已存在!' . PHP_EOL;
	            exit();
	        }
	        $model_path   = APPPATH . 'models/';
	        $library_path = APPPATH . 'libraries/';

	        $model_filenames  = $this->filename($model_path);
	        $library_filenames = $this->filename($library_path);
	        
	        // 去重(也可以不操作去重,不过生成的文件会有红线)
	        $filenames = array_merge($model_filenames, $library_filenames);
	        $filenames = array_flip($filenames);
	        $filenames = array_keys($filenames);

	        $line = '';
	        foreach ($filenames as $filename) {
	            $filename = str_replace(strrchr($filename, "."),"",$filename);
	            $line .= '* @property ' . $filename .' $'. $filename . "\r\n";
	        }
	        fwrite($fp,$line);
	        fwrite($fp,$content_ender);
	        fclose($fp);
	    }

	}

5.项目根目录 php index.php test/cli create_my_models

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用RestTemplate发送请求时,出现`No servers available for service`错误提示,通常是由于服务发现或负载均衡的问题引起的。这个错误通常发生在使用Spring Cloud和Netflix Eureka等服务注册和发现框架时。 以下是一些可能的原因和解决方法: 1. 检查服务注册和发现:确保你的服务已经成功注册到服务注册中心,并且能够被其他服务正常发现。如果使用了Netflix Eureka,可以通过访问Eureka的控制台来检查服务的注册情况。 2. 检查服务名称和URL:确保在RestTemplate中使用的服务名称或URL是正确的,并且与服务注册中心中的服务名称相匹配。如果使用了服务名称而不是具体URL,RestTemplate会根据服务名称从服务注册中心获取可用的服务实例。 3. 检查负载均衡配置:如果使用了负载均衡器(例如Netflix Ribbon),请确保已正确配置负载均衡策略和服务列表。检查负载均衡器的配置文件,确保配置了正确的服务名称或URL,并且负载均衡器能够获取到可用的服务实例列表。 4. 检查服务实例健康状态:如果服务实例处于不健康状态,它可能被暂时从负载均衡器的可用服务列表中移除。检查服务实例的健康检查配置,确保服务实例的健康检查正常。 5. 检查网络连接和防火墙:确保网络连接正常,并且没有被防火墙或其他网络配置阻止。尝试通过其他方式(例如浏览器)访问服务实例,看是否能够正常连接。 请根据你的具体情况和使用的服务发现/负载均衡框架进行相应的调整和排查。如果问题仍然存在,请提供更多的错误信息和代码示例,以便更深入地分析和帮助解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值